Przejdź do głównej zawartości

Funkcja Nz

Za pomocą funkcji Nz można zwrócić zero, ciąg znaków o zerowej długości (" ") lub inną określoną wartość, jeśli zmienna o typie danych Wariant ma wartość Null. Funkcji tej możesz użyć na przykład w celu przekonwertowania wartości Null na inną wartość, aby uniknąć propagowania wartości Null w wyrażeniu

Składnia

Nz ( wariant [, wartość_jeśli_null ] )

Składnia funkcji Nz zawiera następujące argumenty:

Argument

Opis

wariant

Wymagany. Zmienna, której typ danych to Wariant.

wartość_jeśli_null

Opcjonalna (chyba że funkcja została użyta w zapytaniu). Wariant stanowiący wartość zwracaną, jeśli argument wariant ma wartość Null. Argument ten pozwala zwrócić wartość inną niż zero lub inną niż ciąg znaków zerowej długości.

Uwaga: Jeśli funkcja Nz zostanie użyta w wyrażeniu w zapytaniu bez użycia argumentu wartość_jeśli_null, wyniki będą ciągami znaków zerowej długości w polach zawierających wartości Null.


Jeśli argument wariant ma wartość Null, funkcja Nz zwróci liczbę zero lub ciąg znaków o zerowej długości (a w przypadku użycia w wyrażeniu zapytania — zawsze ciąg znaków o zerowej długości), w zależności od tego, czy kontekst wymaga wartości w postaci liczby czy ciągu znaków. W przypadku uwzględnienia opcjonalnego argumentu wartość_jeśli_null funkcja Nz zwróci wartość określoną przez ten argument, jeśli argument wariant będzie miał wartość Null. W przypadku użycia w wyrażeniu zapytania funkcja Nz powinna zawsze uwzględniać argument wartość_jeśli_null.

Jeśli wartość argumentu wariant jest inna niż Null, funkcja Nz zwróci wartość argumentu wariant.

Uwagi

Funkcja Nz jest przydatna w wyrażeniach, które mogą zawierać wartości Null. Aby wyrażenie zawsze zwracało inną wartość niż Null, nawet jeśli zawiera wartość Null, należy użyć funkcji Nz w celu zwrócenia zera, ciągu znaków o zerowej długości lub niestandardowej wartości zwracanej.

Na przykład wyrażenie 2 + varX zawsze zwraca wartość Null, jeśli zmienna WariantvarX ma wartość Null. Natomiast wyrażenie 2 + Nz(varX) zwróci wartość 2.

Funkcji Nz często można używać zamiast funkcji IIf. Na przykład w poniższym kodzie w celu zwrócenia odpowiedniego wyniku potrzebne są dwa wyrażenia z funkcją IIf. Pierwsze wyrażenie zawierające funkcję IIf służy do sprawdzenia wartości zmiennej i przekonwertowania jej na zero, jeśli zmienna ma wartość Null.

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

W następnym przykładzie funkcja Nz zapewnia tę samą funkcjonalność, co pierwsze wyrażenie, jednak odpowiedni wynik jest uzyskiwany w jednym kroku, a nie w dwóch.

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

W przypadku wprowadzenia wartości argumentu opcjonalnego wartość_jeśli_null ta wartość będzie zwracana, jeśli argument wariant będzie miał wartość Null. Podanie tego argumentu opcjonalnego pozwala uniknąć konieczności użycia wyrażenia zawierającego funkcję IIf. Na przykład w następującym wyrażeniu użyto funkcji IIf w celu zwrócenia określonego ciągu, jeśli zmienna varFreight ma wartość Null.

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

W następnym przykładzie argument opcjonalny użyty w funkcji Nz określa ciąg zwracany w przypadku, gdy zmienna varFreight ma wartość Null.

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

Przykłady zapytań

Wyrażenie

Wyniki

Wybierz pozycję ProductID, NZ (dyskonto, "Brak dostępnych szczegółów") jako Wyr2 z ProductSales;

Zwraca wartość "IDProduktu" w kolumnie Wyr1, oblicza wartości "null" w polu "Discount" i zwraca "Brak dostępnych szczegółów" dla wszystkich wartości null (zwraca wartości inne niż null).

Wybierz pozycję ProductID, NZ (dyskonto, "Brak dostępnych szczegółów") jako ReplaceNull z ProductSales;

Zwraca wartość "ProductID" w kolumnie Product, oblicza wartości "null" w polu "Discount" i zwraca "Brak dostępnych szczegółów" dla wszystkich wartości null (zwraca wartości inne niż null) i wyświetla w kolumnie ReplaceNull.

Przykład języka VBA

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.

W poniższym przykładzie sprawdzana jest kontrolka w formularzu, a na podstawie jej wartości jest zwracany jeden z dwóch ciągów. Jeśli kontrolka ma wartość Null, zastosowana funkcja Nz konwertuje wartość Null na ciąg znaków o zerowej długości.

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

Uwaga:  Ta strona została przetłumaczona automatycznie i może zawierać błędy gramatyczne lub nieścisłości. Chcemy, aby ta zawartość była dla Ciebie przydatna. Czy możesz dać nam znać, czy te informacje były pomocne? Oto angielskojęzyczny artykuł do wglądu.

Rozwijaj umiejętności związane z pakietem Office
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów pakietu Office

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×