IsMissing-Funktion

Gilt für
Access für Microsoft 365 Access 2021 Access 2019 Access 2016

Gibt einen booleschen Wert zurück, der angibt, ob ein optionales Variant-Argument an eine Prozedur übergeben wurde.

Syntax

IsMissing(argname)

Das erforderliche Argument argname enthält den Namen eines optionalen Variant-Prozedurarguments .

Hinweise

Verwenden Sie die Funktion IsMissing , um zu erkennen, ob optionale Variant-Argumente beim Aufrufen einer Prozedur bereitgestellt wurden oder nicht. IsMissing gibt True zurück, wenn kein Wert für das angegebene Argument übergeben wurde. Andernfalls wird FALSE zurückgegeben. Wenn IsMissing für ein Argument True zurückgibt, kann die Verwendung des fehlenden Arguments in anderem Code einen benutzerdefinierten Fehler verursachen. Wenn IsMissing für ein ParamArray-Argument verwendet wird, wird immer False zurückgegeben. Um ein leeres ParamArray zu erkennen, testen Sie, ob die Obergrenze des Arrays kleiner als die Untergrenze ist.

Hinweis

IsMissing funktioniert nicht bei einfachen Datentypen (z. B. Integer oder Double), da sie im Gegensatz zu Varianten nicht über eine Bereitstellung für ein "fehlendes" Flagbit verfügen. Daher ermöglicht Ihnen die Syntax für eingegebene optionale Argumente die Angabe eines Standardwerts. Wenn das Argument beim Aufruf der Prozedur weggelassen wird, nimmt das Argument diesen Standardwert an, wie im folgenden Beispiel gezeigt:

Hinweis

Die folgenden Beispiele zeigen die Verwendung dieser Funktion in einem VBA-Modul (Visual Basic for Applications). Wenn Sie weitere Informationen zum Arbeiten mit VBA wünschen, wählen Sie Entwicklerreferenz in der Dropdownliste neben Suchen aus, und geben Sie einen oder mehrere Begriffe in das Suchfeld ein.

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

In vielen Fällen können Sie den If MyVar Test vollständig auslassen, indem Sie den Standardwert auf den Wert setzen, den Sie enthalten möchten MyVar , wenn der Benutzer ihn im Funktionsaufruf auslässt. Dadurch wird der Code präziser und effizienter.

Beispiel

In diesem Beispiel wird mithilfe der IsMissing-Funktion überprüft, ob ein optionales Argument an eine benutzerdefinierte Prozedur übergeben wurde. Beachten Sie, dass Argumente vom Typ Optional jetzt Standardwerte und andere Typen als Variant aufweisen können.

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