החזרת אחד משני חלקים, בהתאם להערכת ביטוי.
באפשרותך להשתמש בכל IIf מקום שבו ניתן להשתמש בביטויים. השתמש IIf כדי לקבוע אם ביטוי אחר הוא True או False. אם הביטוי הוא True, החזרת IIf ערך אחד. אם הערך הוא False, החזרת IIf ערך אחר. ציין את הערכים שמחזירה IIf .
תחביר
IIf(expr, truepart, falsepart)
IIf תחביר הפונקציה מכיל את הארגומנטים הבאים:
| ארגומנט | תיאור |
|---|---|
expr |
נדרש. ביטוי שברצונך להעריך. |
truepart |
נדרש. הערך או הביטוי המוחזר אם expr הוא True. |
falsepart |
נדרש. הערך או הביטוי המוחזר אם expr הוא False. |
הערות
IIf תמיד מעריך גם וגם truepartfalsepartאת , למרות שהוא מחזיר רק אחד מהם. עקב התנהגות זו, שים לב להשפעות לוואי לא רצויות. לדוגמה, אם הערכת 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 ביותר. מאחר שכל פונקציה מקוננת falsepartIIf היא הארגומנט של הפונקציה המכילה אותה, exprSome other languageIIf הטקסט מוחזר רק אם כל הארגומנטים של הפונקציות מוערכים כ- False.IIf
לדוגמה נוספת, נניח שאתה עובד בספריה. מסד הנתונים של הספריה מכיל טבלה Check Outs בשם Due Date, המכילה את התאריך שבו יש להחזיר ספר מסוים. באפשרותך ליצור טופס המציג את IIf המצב של פריט שהוכנס בפקד באמצעות הפונקציה במאפיין של פקד Control Source זה:
=IIf([Due Date]<Date(),"OVERDUE",IIf([Due Date]=Date(),"Due today","Not Yet Due"))
בעת פתיחת הטופס בתצוגת טופס, OVERDUEDue Date הפקד מוצג אם הערך שלו קטן מהתאריך הנוכחי, Due today אם הוא שווה לתאריך הנוכחי, אחרת Not Yet Due .
הערה
כדי להשתמש באופרטורים לוגיים AndexprOrIIf כגון או בארגומנט של הפונקציה, עליך להקיף את הביטוי הלוגי בפונקציה Eval. עיין בטבלה לדוגמה הבאה.
שימוש IIf בשאילתה
הפונקציה IIf משמשת לעתים קרובות ליצירת שדות מחושבים בשאילתות. התחביר זהה, למעט כאשר בשאילתה עליך להוסיף לפני הביטוי כינוי שדה ונקודתיים (:) במקום סימן שוויון (=). כדי להשתמש בדוגמה הקודמת, הקלד את הטקסט הבא בשורה שדה ברשת עיצוב השאילתה:
Language: IIf([CountryRegion]="Italy", "Italian", "Some other language")
במקרה זה, Language: הוא כינוי השדה.
לקבלת מידע נוסף אודות יצירת שאילתות ושדות מחושבים, ראה יצירת שאילתת בחירה פשוטה.
השתמש IIf בקוד VBA
הערה
הדוגמאות הבאות מראים כיצד להשתמש בפונקציה זו במודול Visual Basic for Applications (VBA). לקבלת מידע נוסף אודות עבודה עם VBA, בחר חומר עזר למפתחים ברשימה הנפתחת לצד חיפוש ולאחר מכן הזן מונח אחד או יותר בתיבת החיפוש.
דוגמה זו משתמשת בפונקציה IIf כדי להעריך TestMeCheckItLarge את הפרמטר של הפרוצדורה ומחזירה את המילה אם הסכום גדול מ- 1000. אחרת, היא מחזירה את המילה Small.
Function CheckIt(TestMe As Integer)
CheckIt = IIf(TestMe > 1000, "Large", "Small")
End Function
דוגמאות נוספות
ביטוי:
=IIf([AirportCode]="ORD","Chicago",IIf([AirportCode]="ATL","Atlanta",IIf([AirportCode]="SEA","Seattle","Other")))תוצאה: אם
[AirportCode]הוא"ORD", החזר"Chicago". אחרת, אם[AirportCode]הוא"ATL", החזר"Atlanta". אחרת, אם[AirportCode]הוא"SEA", החזר"Seattle". אחרת, החזר"Other".ביטוי:
=IIf([ShipDate]<Date(),"Shipped",IIf([ShipDate]=Date(),"Shipping today","Unshipped"))תוצאה:
[ShipDate]אם מוקדם יותר מהתאריך של היום, החזר"Shipped". אחרת, אם[ShipDate]שווה לתאריך של היום, החזר"Shipping today". אחרת, החזר"Unshipped".ביטוי:
=IIf([PurchaseDate]<#1/1/2008#,"Old","New")תוצאה: אם
[PurchaseDate]מוקדם מ-1/1/2008, החזר"Old". אחרת, החזר"New".ביטוי:
=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".ביטוי:
=IIf(Eval([CountryRegion] In ("Canada","USA","Mexico")),"North America","Other")תוצאה: אם
[CountryRegion]הוא"Canada","USA", או"Mexico", החזר"North America". אחרת, החזר"Other".ביטוי:
=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")).