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ład

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
Rozwijaj swoje umiejętności
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.

×