Nz, funksjon

Gjelder for
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Du kan bruke Nz-funksjonen til å returnere null, en tom streng (" ") eller en annen angitt verdi når en variant er Null. Du kan for eksempel bruke denne funksjonen til å konvertere en Null-verdi til en annen verdi og hindre at den overføres gjennom et uttrykk.

Syntaks

Nz(variant [, verdihvisnull ] )

Syntaksen for Nz-funksjonen har disse argumentene:

Argument Beskrivelse
variant Obligatorisk. En variabel av datatypen Variant.
verdihvisnull Valgfritt (hvis ikke det brukes i en spørring). En variant som angir en verdi som skal returneres hvis variantargumentet er Null. Dette argumentet gir deg muligheten til å returnere en annen verdi enn null eller en tom streng.
Obs! Hvis du bruker Nz-funksjonen i et uttrykk i en spørring uten å bruke verdihvisnull-argumentet , blir resultatet en tom streng i feltene som inneholder nullverdier.

Hvis verdien til variantargumentet er Null, returnerer Nz-funksjonen tallet null eller en tom streng (returnerer alltid en tom streng når den brukes i et spørringsuttrykk), avhengig av om konteksten angir at verdien skal være et tall eller en streng. Hvis det valgfrie verdihvisnull-argumentet er inkludert, returnerer Nz-funksjonen verdien som er angitt av dette argumentet, hvis variantargumentet er Null. Når NZ-funksjonen brukes i et spørringsuttrykk, skal den alltid inneholde argumentet verdihvisnull ,

Hvis verdien til varianten ikke er Null, returnerer Nz-funksjonen verdien til variant.

Merknader

Nz-funksjonen er nyttig for uttrykk som kanskje inneholder Null-verdier. Hvis du vil tvinge et uttrykk til å evalueres til en verdi som ikke er Null selv når det inneholder en Null-verdi, bruker du Nz-funksjonen til å returnere null, en tom streng eller en egendefinert returverdi.

Uttrykket 2 + varX returnerer for eksempel alltid en nullverdi når variantenvarX er null. Returnerer 2 + Nz(varX) imidlertid 2.

Du kan ofte bruke Nz-funksjonen som et alternativ til IIf-funksjonen. I følgende kode er det for eksempel nødvendig å ha to uttrykk som inkluderer IIf-funksjonen for at ønsket resultatet skal returneres. Det første uttrykket med IIf-funksjonen brukes til å kontrollere verdien til en variabel og konvertere den til null hvis den er Null.

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

I neste eksempel har Nz-funksjonen samme funksjonalitet som det første uttrykket, og ønsket resultatet oppnås i ett trinn i stedet for to.

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

Hvis du oppgir en verdi for det valgfrie argumentet verdihvisnull, returneres denne verdien når variant er Null. Hvis du tar med dette valgfrie argumentet, slipper du kanskje å bruke et uttrykk som inneholder IIf-funksjonen. Følgende uttrykk bruker for eksempel IIf-funksjonen til å returnere en streng hvis verdien til varFreight er Null.

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

I neste eksempel gir det valgfrie argumentet som leveres til Nz-funksjonen , strengen som skal returneres hvis varFreight er Null.

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

Eksempler på spørringer

Uttrykk Resultater
SELECT ProductID, NZ(Rabatt,«Ingen detaljer tilgjengelig») AS Expr2 FROM ProductSales; Returnerer Produkt-ID i kolonne Uttrykk1, evaluerer Null-verdiene i feltet Rabatt og returnerer Ingen tilgjengelige detaljer for alle nullverdier (returnerer ikke-nullverdier som de er).
SELECT ProductID, NZ(Rabatt,«Ingen detaljer tilgjengelig») AS ReplaceNull FROM ProductSales; Returnerer Produkt-ID i kolonnen Produkt, evaluerer Null-verdiene i feltet Rabatt og returnerer Ingen tilgjengelige detaljer for alle nullverdier (returnerer ikke-nullverdier som de er) og vises i kolonnen ReplaceNull.

VBA-eksempel

Obs!

I eksemplene nedenfor vises bruken av denne funksjonen i en VBA-modul (Visual Basic for Applications). Hvis du vil ha mer informasjon om hvordan du arbeider med VBA, velger du Utviklerreferanse fra rullegardinlisten ved siden av Søk og skriver inn ett eller flere søkeord i søkeboksen.

I følgende eksempel evalueres en kontroll i et skjema, og én av to strenger returneres, basert på kontrollens verdi. Hvis verdien til kontrollen er Null, brukes Nz-funksjonen til å konvertere en Null-verdi til en tom streng.

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