Applies ToAccess של 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

נדרש. ערך או ביטוי המוחזרים אם exprהוא True.

חלק שקרי

נדרש. ערך או ביטוי המוחזרים אם expr הוא False.

הערות

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

דוגמאות

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

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

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

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

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

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

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

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

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

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

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

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

שפה: 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

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

Expression

תוצאות

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

אם [AirportCode] הוא "ORD", החזר "Chicago". אחרת, אם [AirportCode] הוא "ATL", החזר "אטלנטה". אחרת, אם [AirportCode] הוא "SEA", החזר "Seattle". אחרת, החזר "אחר".

=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 [Amps] Between 0.25 And 0.3),"OK","Out of calibration")

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

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

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

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

זקוק לעזרה נוספת?

מעוניין באפשרויות נוספות?

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

קהילות עוזרות לך לשאול שאלות ולהשיב עליהן, לתת משוב ולשמוע ממומחים בעלי ידע עשיר.