Funkcija Nz

Primjenjuje se na
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkciju Nz možete koristiti da biste vratili nulu, niz nulte duljine (" ") ili neku drugu navedenu vrijednost kada je vrijednost Variant Null. Na primjer, možete koristiti ovu funkciju da biste vrijednost Null pretvorili u drugu vrijednost i spriječili njezino ponavljanje u izrazu.

Sintaksa

Nz(variant [, valueifnull ] )

Sintaksa funkcije Nz sadrži ove argumente:

Argument Opis
variant Obavezno. Varijabla vrste podataka Variant.
valueifnull Neobavezno (osim ako se koristi u upitu). Variant koji osigurava vrijednost koja se vraća ako je argument variantNull. Ovaj argument omogućuje vraćanje vrijednosti koja nije nula ili niz nulte duljine.
Napomena: Ako u izrazu u upitu koristite funkciju Nz bez korištenja argumenta valueifnull , rezultat će biti niz nulte duljine u poljima koja sadrže vrijednosti null.

Ako je vrijednost argumenta variantNull, funkcija Nz vraća broj nula ili niz nulte duljine (uvijek vraća niz nulte duljine kada se koristi u izrazu upita), ovisno o tome upućuje li kontekst na to da vrijednost mora biti broj ili niz. Ako je uvršten neobavezni argument valueifnull , tada će funkcija Nz vratiti vrijednost određenu tim argumentom ako je argument variantNull. Kada se koristi u izrazu upita, funkcija NZ uvijek treba uključivati argument valueifnull .

Ako vrijednost variant nije Null, tada funkcija Nz vraća vrijednost varijant.

Napomene

Funkcija Nz korisna je za izraze koji mogu uključivati vrijednosti Null. Da biste izrazu nametnuli vrednovanje na vrijednost koja nije Null čak i ako sadrži vrijednost Null, koristite funkciju Nz da bi se vratila nula, niz nulte duljine ili prilagođena povratna vrijednost.

Na primjer, izraz 2 + varX uvijek vraća vrijednost Null kada je vrijednost VariantvarXNull. Međutim, 2 + Nz(varX) vraća 2.

Često možete funkciju Nz koristiti umjesto funkcije IIf. Na primjer, u sljedećem kodu, dva izraza s funkcijom IIf potrebni su za vraćanje željenog rezultata. Prvi izraz s funkcijom IIf koristi se za provjeru vrijednosti varijable i pretvaranje u nulu ako je Null.

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

U sljedećem primjeru, funkcija Nz pruža istu funkcionalnost kao prvi izraz, a željeni se rezultat postiže u jednom koraka umjesto dva.

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

Ako unesete vrijednost za neobavezni argument valueifnull, ta će se vrijednost vratiti kada je variantNull. Uvrštavanjem tog neobaveznog argumenta moći ćete izbjeći korištenje izraza koji sadrži funkciju IIf. Sljedeći izraz, primjerice, koristi funkciju IIf da bi vratio niz ako je vrijednost nullvarFreight.

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

U sljedećem primjeru neobavezni argument naveden u funkciji Nz pruža niz koji se vraća ako varFreight je Null.

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

Primjeri upita

Izraz Rezultati
SELECT IDproizvoda, NZ(Popust;"Nema dostupnih detalja") AS Expr2 FROM ProductSales; Vraća "IDProizvoda" u stupcu Izraz1, vrednuje vrijednosti "Null" u polju "Popust" i vraća "Nema dostupnih detalja" za sve vrijednosti null (vraća vrijednosti koje nisu null).
SELECT IDproizvoda, NZ(Popust;"Nema dostupnih detalja") AS ReplaceNull FROM ProductSales; Vraća "IDProizvoda" u stupcu Proizvod, procjenjuje vrijednosti "Null" u polju "Popust" i vraća "Nema dostupnih detalja" za sve vrijednosti null (vraća vrijednosti koje nisu null u obliku u kojem jesu) i prikazuje u stupcu ReplaceNull.

VBA primjer

Napomena

Primjeri koji slijede prikazuju korištenje te funkcije u modulu jezika Visual Basic for Applications (VBA). Da biste pronašli dodatne informacije o radu s VBA-om, na padajućem popisu uz stavku Traži odaberite stavku Referenca za razvojne inženjere pa unesite jedan ili više izraza u okvir pretraživanja.

Sljedeći primjer vrednuje kontrolu na obrascu i vraća jedan od dva niza temeljena na vrijednosti kontrole. Ako je vrijednost kontrole Null, postupak koristi funkciju Nz za pretvaranje vrijednosti Null u niz nulte duljine.

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