Funkcija Nz

Velja za
Access za Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Funkcijo Nz lahko uporabite za vrnitev vrednosti nič, niz ničelne dolžine (" ") ali drugo določeno vrednost, če je vrednost Variant enaka Null. S to funkcijo lahko na primer pretvorite vrednost Null v drugo vrednost in preprečite, da se razširi po izrazu.

Sintaksa

Nz(variant [, valueifnull ] )

Sintaksa funkcije Nz ima te argumente:

Argument Opis
variant Obvezen. Spremenljivka podatkovnega tipa Variant.
valueifnull Izbiren (razen v primeru, ko je v rabi v poizvedbi). Različica , ki poda vrednost, ki bo vrnjena, če je argument variantničelne vrednosti. Ta argument omogoča, da je vrnjena vrednost, ki ni »null« ali niz dolžine nič.
Opomba: Če funkcijo Nz uporabite v izrazu v poizvedbi, ne da bi uporabili argument valueifnull , bodo rezultati niz ničelne dolžine v poljih, ki vsebujejo ničelne vrednosti.

Če je vrednost argumenta variant enaka Null, funkcija Nz vrne število nič ali niz dolžine nič (pri uporabi v izrazu poizvedbe vedno vrne niz dolžine nič), odvisno od tega, ali kontekst določa, da mora biti vrednost število ali niz. Če je vključen izbirni argument valueifnull , funkcija Nz vrne vrednost, navedeno v tem argumentu, če je argument variantnull. Če jo uporabite v izrazu poizvedbe, mora funkcija NZ vedno vključevati argument valueifnull .

Če vrednost argumenta variant ni Null, funkcija Nz vrne vrednost argumenta variant.

Opombe

Funkcija Nz se uporablja za izraze, ki lahko vključujejo vrednosti Null. Če želite vsiliti izrazu, da ovrednoti na vrednost, ki ni Null, tudi če vsebuje vrednost Null, uporabite funkcijo Nz, da vrne vrednost nič, niz dolžine nič ali vrednost po meri.

Izraz na primer vedno vrne 2 + varX vrednost Null, ko je vrednost VariantvarX enaka Null. Vendar pa 2 + Nz(varX) vrne 2.

Funkcijo Nz lahko pogosto uporabite kot nadomestno funkcijo funkciji IIf. V prikazani kodi sta na primer potrebna dva izraza, vključno s funkcijo IIf, da funkcija vrne želeni rezultat. Prvi izraz, vključno s funkcijo IIf, se uporablja za preverjanje vrednosti spremenljivke in pretvarjanje v nič, če je vrednost Null.

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

V naslednjem primeru funkcija Nz deluje enako kot prvi izraz in želeni rezultat je dosežen le v enem koraku in ne šele v dveh.

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

Če navedete vrednost za izbirni argument valueifnull, bo ta vrednost vrnjena, ko bo argument variant enak Null. Če vključite ta izbirni argument, se boste morda lahko izognili uporabi izraza, ki vsebuje funkcijo IIf. Ta izraz na primer uporablja funkcijo IIf, da vrne niz, če je vrednost null.varFreight

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

V naslednjem primeru izbirni argument, ki je naveden za funkcijo Nz, zagotavlja niz, ki bo vrnjen, če je varFreightnull.

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

Primeri poizvedb

Izraz Rezultati
SELECT ProductID, NZ(Popust; »Ni podrobnosti na voljo«) AS Expr2 FROMSales izdelkov; Vrne »PRODUCTID« v stolpcu Expr1, ovrednoti vrednosti »Null« v polju »Popust« in vrne »Podrobnosti niso na voljo« za vse vrednosti Null (vrne vrednosti, ki niso ničelne, kot so).
SELECT ProductID, NZ(Popust,"Ni podrobnosti na voljo") AS ReplaceNull FROMSales izdelkov; Vrne »PRODUCTID« v stolpcu »Izdelek«, ovrednoti vrednosti »Null« v polju »Popust« in vrne »Podrobnosti niso na voljo« za vse vrednosti Null (vrne vrednosti, ki niso ničelne, kot so) in prikaže v stolpcu ReplaceNull.

primer VBA

Opomba

V spodnjih primerih je prikazana uporaba te funkcije v modulu Visual Basic for Applications (VBA). Če želite več informacij o delu z modulom VBA, izberite Sklic na razvijalca na spustnem seznamu ob možnosti Iskanje in v iskalno polje vnesite enega ali več izrazov.

Naslednji primer ovrednoti kontrolnik v obrazcu in vrne enega od dveh nizov glede na vrednost kontrolnika. Če je vrednost kontrolnika Null, postopek s funkcijo Nz pretvori vrednost Null v dolžino nič.

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