Applies ToAccess dla Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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ń

Expression

Wyniki

SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductSales;

Zwraca wartość "ProductID" w kolumnie Wyr1, oblicza wartości "Null" w polu "Rabat" i zwraca wartość "Brak dostępnych szczegółów" dla wszystkich wartości Null (zwraca wartości inne niż null, tak jak jest).

SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales;

Zwraca wartość "ProductID" w kolumnie Produkt, oblicza wartości "Null" w polu "Rabat" i zwraca wartość "Brak dostępnych szczegółów" dla wszystkich wartości Null (zwraca wartości inne niż null w niezmienionej postaci) i jest wyświetlana 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, vbExclamationEnd Sub

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.