הפונקציה IIf

חל על
Access של Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

החזרת אחד משני חלקים, בהתאם להערכת ביטוי.

באפשרותך להשתמש בכל IIf מקום שבו ניתן להשתמש בביטויים. השתמש כדי IIf לקבוע אם ביטוי אחר הוא True או False. אם הביטוי הוא true, IIf החזרת ערך אחד. אם הערך הוא false, IIf הפונקציה מחזירה ערך אחר. עליך לציין את הערכים שיחזירו IIf .

ראה כמה דוגמאות

תחביר

IIf(expr, truepart, falsepart)

תחביר הפונקציות מכיל את הארגומנטים IIf הבאים:

ארגומנט תיאור
expr נדרש. ביטוי שברצונך להעריך.
truepart נדרש. הערך או הביטוי המוחזר if expr הוא True.
falsepart נדרש. הערך או הביטוי המוחזר if expr הוא False.

הערות

IIf תמיד מעריכה את שניהם truepart וגם falsepart, למרות שהיא מחזירה רק אחד מהם. בגלל התנהגות זו, שימו לב לתופעות לוואי לא רצויות. לדוגמה, אם הערכה falsepart מביאה לשגיאת חלוקה באפס, מתרחשת שגיאה גם אם expr היא True.

דוגמאות

שימוש IIf בטופס או בדוח

נניח שיש Customers לך טבלה המכילה שדה בשם CountryRegion. בטופס, ברצונך להראות אם איטלקית היא השפה הראשונה של איש הקשר. באפשרותך להוסיף פקד ולהשתמש IIf במאפיין שלו Control Source :

=IIf([CountryRegion]="Italy", "Italian", "Some other language")

בעת פתיחת הטופס בתצוגת טופס, הפקד מוצג Italian בכל פעם שהערך עבור CountryRegion הוא .Italy הוא מוצג Some other language בכל פעם CountryRegion שיש לו ערך אחר.

שימוש IIf בביטויים מורכבים

באפשרותך להשתמש בכל ביטוי בכל חלק של IIf המשפט. באפשרותך גם לקנן IIf ביטויים, דבר המאפשר לך להעריך סידרה של ביטויים תלויים. כדי להמשיך עם הדוגמה הקודמת, ייתכן שתרצה לבדוק מספר ערכים שונים CountryRegion ולאחר מכן להציג את השפה המתאימה בהתבסס על הערך:

=IIf([CountryRegion]="Italy", "Italian", IIf([CountryRegion]="France", "French", IIf([CountryRegion]="Germany", "German", "Some other language")))

הטקסט Some other language הוא הארגומנט falsepart של הפונקציה הפנימית ביותר IIf . מאחר שכל פונקציה מקוננת IIf היא הארגומנט falsepart של הפונקציה IIf שמכילה אותה, הטקסט Some other language מוחזר רק אם כל expr הארגומנטים של הפונקציות IIf מוערכים כ- False.

דוגמה נוספת, נניח שאתה עובד בספריה. מסד הנתונים של הספריה כולל טבלה בשם Check Outs שמכילה שדה בשם Due Date, המכיל את התאריך שבו ספר מסוים אמור לחזור. באפשרותך ליצור טופס המציג את המצב של פריט שהוצא בפקד על-ידי שימוש IIf בפונקציה שבמאפיין של Control Source פקד זה:

=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))

בעת פתיחת הטופס בתצוגת טופס, הפקד מציג OVERDUE אם הערך של Due Date קטן מהתאריך הנוכחי, Due today אם הוא שווה לתאריך הנוכחי ועוד Not Yet Due .

הערה

כדי להשתמש באופרטורים לוגיים כגון And OR Or בארגומנט expr של הפונקציה IIf , עליך להקיף את הביטוי הלוגי בפונקציה Eval . עיין בטבלה לדוגמה הבאה.

שימוש IIf בשאילתה

הפונקציה IIf משמשת לעתים קרובות ליצירת שדות מחושבים בשאילתות. התחביר זהה, פרט לכך שבשאילתה עליך להוסיף לביטוי כינוי שדה ונקודתיים (:) במקום סימן שוויון (=). כדי להשתמש בדוגמה הקודמת, הקלד את הטקסט הבא בשורה 'שדה ' של רשת עיצוב השאילתה:

Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")

במקרה זה, Language: זהו כינוי השדה.

לקבלת מידע נוסף אודות יצירת שאילתות ושדות מחושבים, ראה יצירת שאילתת בחירה פשוטה.

השתמש IIf בקוד VBA

הערה

הדוגמאות הבאות מראות כיצד להשתמש בפונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר ' הפניית מפתח ' ברשימה הנפתחת שליד 'חיפוש' ולאחר מכן הזן מונח אחד או יותר בתיבת החיפוש.

דוגמה זו משתמשת בפונקציה IIf להערכת הפרמטר TestMe של ההליך CheckIt ומחזירה את המילה Large אם הסכום גדול מ- 1000. אחרת, היא מחזירה את המילה Small.

Function CheckIt(TestMe As Integer)
    CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function

דוגמאות נוספות

  1. ביטוי:

    =IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))
    

    תוצאה: אם [AirportCode] הוא "ORD", החזר "Chicago". אחרת, אם [AirportCode] הוא "ATL", החזר "Atlanta". אחרת, אם [AirportCode] הוא "SEA", החזר "Seattle". אחרת, החזר "Other".

  2. ביטוי:

    =IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))
    

    תוצאה: אם [ShipDate] הוא מוקדם מהתאריך של היום, חזור "Shipped". אחרת, אם [ShipDate] שווה לתאריך של היום, החזר "Shipping today". אחרת, החזר "Unshipped".

  3. ביטוי:

    =IIf([PurchaseDate]<#1/1/2008#,"Old","New")
    

    תוצאה: If [PurchaseDate] הוא מוקדם מ 1/1/2008- , return "Old". אחרת, החזר "New".

  4. ביטוי:

    =IIf(Eval([Volts] Between 12 And 15 And [Amps] Between 0.25 And 0.3),"OK","Out of calibration")
    

    תוצאה: אם [Volts] הוא בין 12 ל- 15 והוא [Amps] בין 0.25 ל- 0.3, החזר "OK". אחרת, החזר "Out of calibration".

  5. ביטוי:

    =IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")
    

    תוצאה: אם [CountryRegion] הוא "Canada", "USA"או "Mexico", החזר "North America". אחרת, החזר "Other".

  6. ביטוי:

    =IIf([Average]>=90,"A",IIf([Average]>=80,"B",IIf([Average]>=70,"C",IIf([Average]>=60,"D","F"))))
    

    תוצאה: אם [Average] הוא 90 ומעלה, החזר "A". אחרת, אם [Average] הערך הוא 80 ומעלה, החזר "B". אחרת, אם [Average] הוא 70 ומעלה, החזר "C". אחרת, אם [Average] הוא 60 ומעלה, החזר "D". אחרת, החזר "F".

הערה

אם אתה משתמש בפונקציה כדי ליצור שדה מחושב בשאילתה, החלף את סימן השוויון IIf (=) בכינוי שדה ובנקודתיים (:). לדוגמה, Status: IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped")).