Funkcja IsMissing

Dotyczy
Access dla Microsoft 365 Access 2021 Access 2019 Access 2016

Zwraca wartość logiczną wskazującą, czy opcjonalny argument wariantu został przekazany do procedury.

Składnia

IsMissing(argname)

Wymagany argument argname zawiera nazwę opcjonalnego argumentu procedury typu Variant .

Uwagi

Użyj funkcji IsMissing w celu określenia, czy w wywołaniu procedury podano opcjonalne argumenty typu Variant . Funkcja IsMissing zwraca wartość True , jeśli nie przekazano żadnej wartości dla określonego argumentu; w przeciwnym razie zwraca wartość False. Jeśli funkcja IsMissing zwraca wartość True dla argumentu, użycie tego brakującego argumentu w innym kodzie może spowodować błąd zdefiniowany przez użytkownika. Jeśli funkcja IsMissing jest używana dla argumentu ParamArray , zawsze zwraca wartość False. Aby wykryć pustą tablicę ParamArray, sprawdź, czy górna granica tablicy jest mniejsza niż jej dolna granica.

Uwaga

Funkcja IsMissing nie działa w przypadku prostych typów danych (takich jak liczba całkowita lub podwójna precyzja), ponieważ w przeciwieństwie do wariantów nie zawiera obsługi bitu flagi "brakującej". Z tego powodu składnia typowych argumentów opcjonalnych pozwala określić wartość domyślną. Jeśli argument zostanie pominięty przy wywoływaniu procedury, to argument będzie miał wartość domyślną, jak w poniższym przykładzie:

Uwaga

Poniższe przykłady przedstawiają sposób użycia tej funkcji w module języka Visual Basic for Applications (VBA). Aby uzyskać dodatkowe informacje na temat pracy w języku VBA, wybierz pozycję Dokumentacja dewelopera z listy rozwijanej obok przycisku Wyszukaj i wprowadź odpowiednie terminy w polu wyszukiwania.

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

W wielu przypadkach można całkowicie pominąć test, If MyVar ustawiając wartość domyślną na równą wartości, która ma MyVar być zawierana, jeśli użytkownik pominie ją w wywołaniu funkcji. Dzięki temu kod jest bardziej zwięzły i wydajny.

Przykład

W tym przykładzie użyto funkcji IsMissing do sprawdzenia, czy opcjonalny argument został przekazany do procedury zdefiniowanej przez użytkownika. Należy pamiętać, że argumenty opcjonalne mogą mieć teraz wartości domyślne i typy inne niż wariant.

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