Funkciju Nz možete koristiti da biste dobili nulu, nisku nulte dužine (" ") ili drugu navedenu vrednost kada argument "Variant" ima vrednost Null. Na primer, ovu funkciju možete upotrebiti da pretvorite vrednost Null u drugu vrednost i sprečite njeno prenošenje kroz izraz.
Sintaksa
Nz(varijanta [, vrednostakojenula ] )
Sintaksa funkcije Nz ima sledeće argumente:
| Argument | Opis |
|---|---|
| variant | Obavezno. Promenljiva tipa podataka "Varijanta". |
| valueifnull | Opcionalno (osim ako se koristi u upitu).
Varijanta koja obezbeđuje vrednost koja treba da bude vraćena ako argument variant ima vrednost "Null". Ovaj argument vam omogućava da dobijete vrednost koja nije nula ili niska nulte dužine. Napomena: Ako funkciju Nz koristite u izrazu u upitu bez korišćenja argumenta valueifnull , rezultat će biti niska nulte dužine u poljima koja sadrže prazne vrednosti. |
Ako je vrednost argumenta "varijanta " "Null", funkcija Nz vraća broj nula ili nisku nulte dužine (uvek daje nisku nulte dužine kada se koristi u izrazu upita), u zavisnosti od toga da li kontekst ukazuje na to da vrednost treba da bude broj ili niska. Ako je uključen opcionalni argument valueifnull , funkcija Nz će vratiti vrednost koju taj argument navodi ako argument variant ima vrednost "Null". Kada se koristi u izrazu upita, funkcija NZ uvek treba da sadrži argument valueifnull ,
Ako vrednost argumenta variant nije Null, funkcija Nz vraća vrednost argumenta variant.
Napomene
Funkcija Nz je korisna za izraze koji možda obuhvataju Null vrednosti. Da biste nametnuli da izraz kao rezultat daje vrednost koja nije Null čak i kad sadrži vrednost Null, upotrebite funkciju Nz kako biste dobili nulu, nisku nulte dužine ili prilagođenu povratnu vrednost.
Na primer, izraz 2 + varX će uvek vraćati vrednost "Null " kad argument "VariantvarX " ima vrednost "Null". Međutim, 2 + Nz(varX) daje 2.
Funkciju Nz često možete koristiti kao alternativu funkciji IIf. Na primer, u sledećem kodu dva izraza koja uključuju funkciju IIf neophodna su da bi se dobio željeni rezultat. Prvi izraz koji uključuje funkciju IIf se koristi za proveru vrednosti promenljive i njeno pretvaranje u nulu ako ona ima vrednost Null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
U sledećem primeru, funkcija Nz pruža istu funkcionalnost kao i prvi izraz, a željeni rezultat se postiže u jednom koraku umesto u dva.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Ako navedete vrednost za opcionalni argument valueifnull, ta vrednost se vraća kad argument variant ima vrednost Null. Uključivanjem ovog opcionalnog argumenta možda možete izbeći upotrebu izraza koji sadrži funkciju IIf. Na primer, sledeći izraz koristi funkciju IIf kako bi se dobila niska ako je vrednost "varFreightNull".
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
U sledećem primeru opcionalni argument naveden za funkciju Nz omogućava da se dobije varFreight niska ako je vrednost Null.
varResult = Nz(varFreight, "No Freight Charge")
Primeri upita
| Izraz | Rezultati |
|---|---|
| SELECT ProductID, NZ(Popust,"Nema dostupnih detalja") AS Expr2 FROM ProductSales; | Daje "ID proizvoda" u koloni Expr1, procenjuje vrednosti "Null" u polju "Popust" i daje "Nema dostupnih detalja" za sve vrednosti "Null" (daje vrednosti koje nisu bez vrednosti). |
| SELECT ProductID, NZ(Discount,"Nema dostupnih detalja") AS ReplaceNull FROM ProductSales; | Daje "ID proizvoda" u koloni "Proizvod", procenjuje vrednosti "Null" u polju "Popust" i daje vrednost "Nema dostupnih detalja" za sve vrednosti "Null" (daje vrednosti koje nisu bez vrednosti) i prikazuje se u koloni ReplaceNull. |
VBA primer
Napomena
Primeri koji slede pokazuju upotrebu ove funkcije u Visual Basic for Applications (VBA) modulu. Ako vam je potrebno više informacija o radu sa VBA modulom, izaberite stavku Referenca razvojnog programera sa padajuće liste pored stavke Pretraga i unesite jedan ili više termina u polje za pretragu.
Sledeći primer procenjuje kontrolu u obrascu i na osnovu njene vrednosti vraća jednu od dve niske. Ako je vrednost kontrole Null, procedura koristi funkciju Nz za pretvaranje vrednosti Null u nisku nulte dužine.
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