Nz-Funktion

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

Sie können die Nz-Funktion verwenden, um Null, eine Zeichenfolge der Länge Null (" ") oder einen anderen angegebenen Wert zurückzugeben, wenn eine Variante Null ist. Sie können diese Funktion beispielsweise verwenden, um einen Null-Wert in einen anderen Wert zu konvertieren und zu verhindern, dass er über einen Ausdruck übertragen wird.

Syntax

Nz(variant [, valueifnull ] )

Die Syntax der Nz-Funktion weist die folgenden Argumente auf:

Argument Beschreibung
Variante Erforderlich. Eine Variable mit dem Datentyp "Variant".
WertWennNull Optional (außer bei Verwendung in einer Abfrage). Eine Variante , die einen Wert liefert, der zurückgegeben werden soll, wenn das Argument variantNull ist. Mit diesem Argument können Sie einen anderen Wert als Null oder eine Zeichenfolge der Länge Null zurückgeben.
Hinweis: Wenn Sie die Nz-Funktion in einem Ausdruck in einer Abfrage verwenden, ohne das Argument WertWennNull zu verwenden, ist das Ergebnis eine Zeichenfolge der Länge Null in den Feldern, die Nullwerte enthalten.

Wenn der Wert des VariantenargumentsNull ist, gibt die Nz-Funktion die Zahl Null oder eine Zeichenfolge der Länge Null zurück (gibt immer eine Zeichenfolge der Länge Null zurück, wenn sie in einem Abfrageausdruck verwendet wird), je nachdem, ob der Kontext angibt, dass der Wert eine Zahl oder eine Zeichenfolge sein soll. Wenn das optionale Argument valueifnull enthalten ist, gibt die Nz-Funktion den durch dieses Argument angegebenen Wert zurück, wenn das Variantenargument Null ist. Bei Verwendung in einem Abfrageausdruck sollte die NZ-Funktion immer das Argument WertWennNull enthalten.

Wenn der Wert von variant nicht Null ist, dann gibt die Nz-Funktion den Wert von variant zurück.

Hinweise

Die Nz-Funktion ist für Ausdrücke nützlich, die Nullwerte enthalten können. Wenn Sie erzwingen möchten, dass ein Ausdruck zu einem Nicht-Null-Wert ausgewertet wird, auch wenn er einen Null-Wert enthält, verwenden Sie die Nz-Funktion , um Null, eine Zeichenfolge der Länge Null oder einen benutzerdefinierten Rückgabewert zurückzugeben.

Der Ausdruck 2 + varX gibt z. B. immer einen Null-Wert zurück, wenn die VariantevarXNull ist. 2 + Nz(varX) Gibt jedoch 2 zurück.

Sie können häufig die Nz-Funktion als Alternative zur Wenn-Funktion verwenden. Im folgenden Code sind beispielsweise zwei Ausdrücke einschließlich der Wenn-Funktion erforderlich, um das gewünschte Ergebnis zurückzugeben. Der erste Ausdruck einschließlich der Wenn-Funktion wird verwendet, um den Wert einer Variablen zu überprüfen und sie in Null umzuwandeln, wenn sie Null ist.

varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")

Im nächsten Beispiel bietet die Nz-Funktion die gleiche Funktionalität wie der erste Ausdruck, und das gewünschte Ergebnis wird in einem Schritt erreicht, anstatt in zwei.

varResult = IIf(Nz(varFreight) > 50, "High", "Low")

Wenn Sie einen Wert für das optionale Argument valueifnull angeben, wird dieser Wert zurückgegeben, wenn variantNull ist. Durch das Einschließen dieses optionalen Arguments können Sie möglicherweise die Verwendung eines Ausdrucks vermeiden, der die Wenn-Funktion enthält. Im folgenden Ausdruck wird z. B. die Wenn-Funktion verwendet, um eine Zeichenfolge zurückzugeben, wenn der Wert von varFreightNull ist.

varResult = IIf(IsNull(varFreight), _
    "No Freight Charge", varFreight)

Im nächsten Beispiel stellt das optionale Argument, das für die Nz-Funktion bereitgestellt wird, die Zeichenfolge bereit, die zurückgegeben werden soll, wenn varFreightNull ist.

varResult = Nz(varFreight, "No Freight Charge")

Abfragebeispiele

Ausdruck Ergebnisse
SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales; Gibt "ProductID" in Spalte "Ausdr1" zurück, wertet die "Null"-Werte im Feld "Rabatt" aus und gibt "Keine Details verfügbar" für alle Nullwerte zurück (gibt die Nicht-NULL-Werte unverändert zurück).
SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales; Gibt "ProductID" in Spalte "Product" zurück, wertet die Nullwerte im Feld "Discount" aus und gibt "Keine Details verfügbar" für alle Null-Werte zurück (gibt die Nicht-NULL-Werte unverändert zurück) und zeigt in Spalte "ReplaceNull" an.

VBA-Beispiel

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.

Im folgenden Beispiel wird ein Steuerelement in einem Formular ausgewertet und eine von zwei Zeichenfolgen basierend auf dem Wert des Steuerelements zurückgegeben. Wenn der Wert des Steuerelements Null ist, verwendet die Prozedur die Nz-Funktion , um einen Null-Wert in eine leere Zeichenfolge zu konvertieren.

Public Sub CheckValue()
    Dim frm As Form
    Dim ctl As Control
    Dim varResult As Variant
    ' Return Form object variable 
    ' pointing to Orders form.
    Set frm = Forms!Orders
    ' Return Control object variable 
    ' pointing to ShipRegion.
    Set ctl = frm!ShipRegion
    ' Choose result based on value of control.
    varResult = IIf(Nz(ctl.Value) = vbNullString, _
        "No value.", "Value is " & ctl.Value & ".")
    ' Display result.
    MsgBox varResult, vbExclamation
End Sub