הפונקציה IsMissing

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

החזרת ערך בוליאני המציין אם ארגומנט משתנה אופציונלי הועבר לפרוצדורה.

תחביר

IsMissing(argname)

ארגומנט argname הנדרש מכיל את השם של ארגומנט פרוצדורת משתנה אופציונלי.

הערות

השתמש בפונקציה IsMissing כדי לזהות אם סופקו ארגומנטים אופציונליים של משתנה בעת קריאה לפרוצדורה. IsMissing מחזירTrue אם לא הועבר ערך עבור הארגומנט שצוין; אחרת, הוא מחזיר False. אם IsMissingמחזיר True עבור ארגומנט, השימוש בארגומנט החסר בקוד אחר עלול לגרום לשגיאה המוגדרת על-ידי המשתמש. אם IsMissing נמצא בשימוש בארגומנט ParamArray , הוא תמיד מחזיר False. כדי לזהות ParamArray ריק, בדוק אם הגבול העליון של המערך קטן מהגבול התחתון שלו.

הערה

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

הערה

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

Sub MySub(Optional MyVar As String = "specialvalue")
    If MyVar = "specialvalue" Then
        ' MyVar was omitted.
    Else
    ...
End Sub

במקרים רבים ניתן להשמיט If MyVarMyVar את הבדיקה לחלוטין על-ידי הפיכת ערך ברירת המחדל לערך שברצונך להכיל אם המשתמש השמט אותו מהקריחת הפונקציה. פעולה זו הופכת את הקוד שלך לת תמציתי ויעיל יותר.

דוגמה

דוגמה זו משתמשת בפונקציה IsMissing כדי לבדוק אם ארגומנט אופציונלי הועבר לפרוצדורה המוגדרת על-ידי המשתמש. שים לב שארגומנטים אופציונליים יכולים כעת לכלול ערכי ברירת מחדל וסוגים שאינם Variant.

Dim ReturnValue
' The following statements call the user-defined
' function procedure.
ReturnValue = ReturnTwice()    ' Returns Null.
ReturnValue = ReturnTwice(2)    ' Returns 4.
' Function procedure definition.
Function ReturnTwice(Optional A)
    If IsMissing(A) Then
        ' If argument is missing, return a Null.
        ReturnTwice = Null
    Else
        ' If argument is present, return twice the value.
        ReturnTwice = A * 2
    End If
End Function