Funktsioon Nz

Saate kasutada funktsiooni Nz nulli juurde naasmiseks, nullpikkusega string (" ") või mõnda muud täpsustatud väärtust, kui variant on null. Näiteks saate kasutada seda funktsiooni Null väärtuse teisendamiseks teiseks väärtuseks ja takistada seda paljunemast avaldise abil.

Süntaks

Nz ( variant [, valueifnull ] )

Funktsiooni Nz süntaksil on järgmised argumendid.

Argument

Kirjeldus

Variant

Nõutav. Muutuja andmetüüp Variant.

valueifnull

Valikuline (v.a juhul, kui seda kasutatakse päringus). Variant, mis pakub tagastatava väärtuse, kui argument variant on Null. See argument võimaldab tagastada mõne muu väärtuse peale nulli või nullpikkusega stringi.

Märkus. : Kui kasutate funktsiooni Nz päringu avaldises argumendita valueifnull, kuvatakse selle tulemusel tühiväärtusi sisaldavatel väljadel nullpikkusega string.


Kui variandi argumendi väärtus on Null, siis tagastab funktsioon Nz arvu null või nullpikkusega stringi (päringu avaldises tagastab alati nullpikkusega stringi), sõltuvalt sellest, kas kontekstis viidatav väärtus on arv või string. Kui valikuline valueifnull argument on kaasatud, siis tagastab funktsioon Nz selle argumendi poolt täpsustatud väärtuse, kui argument variant on Null. Kui kasutatakse päringu avaldises, peaks funktsioon NZ alati sisaldama argumenti valueifnull.

Kui variant pole Null, siis funktsioon Nz tagastab variandi väärtuse.

Märkused

Funktsioon Nz on kasulik nende avaldiste jaoks, mis sisaldavad väärtusi Null. Selleks, et sundida avaldist mitte-Null väärtuse tuletamiseks, isegi, kui see sisaldab Null väärtust, kasutage funktsiooni Nz nulli tagastamiseks, nullpikkusega stringi jaoks või kohandatava tagastatava väärtuse jaoks.

Näiteks tagastab avaldis 2 + varX alati väärtuse Null, kui Variant varX on Null. Siiski 2 + Nz(varX) tagastab arvu 2.

Funktsiooni Nz saate tihti kasutada alternatiivina funktsioonile IIf. Näiteks on järgmises näites soovitud tulemusi saavutamiseks vajalik, et kaks avaldist kasutaks funktsiooni IIf. Esimest avaldist, mis sisaldab funktsiooni IIf, kasutatakse muutuja väärtuse kontrollimiseks ja selle nulliks teisendamiseks, kui see on Null.

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

Järgmises näites, pakub funktsioon Nz sama funktsionaalsust, mida esimenegi. Tänu sellele saavutatakse soovitud tulemus mitte kahe vaid ühe toiminguga.

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

Kui annate valikulisele argumendile valueifnull väärtuse, siis tagastataks see väärtus, kui variant on Null. Lisades selle valikulise argumendi, võite vältida funktsiooni IIf sisaldava väljendi kasutamist. Näiteks järgmine avaldus kasutab funktsiooni IIf, et tagastada string, kui varFreight väärtus on Null.

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

Järgmises näites tagastab funktsioonile Nz sisestatud valikuline argument stringi, kui varFreight on Null.

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

Näide

Märkus. : Järgmised näited kujutavad selle funktsiooni kasutamist rakenduse Visual Basic for Applications (VBA) moodulis. Lisateabe saamiseks VBA-ga töötamise kohta valige välja Otsing kõrval kuvatavast ripploendist väärtus Tootearendusmaterjal ja sisestage otsinguväljale üks või mitu sõna.

Järgnevas näites hinnatakse vormi juhtelementi ja arvutatakse üks kahest stringi väärtusest, mis põhineb juhtelemendi väärtusel. Kui juhtelemendi väärtus on Null, siis kasutab protseduur funktsiooni Nz, et teisendada Null väärtus nullpikkusega stringiks.

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
Täiendage oma oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×