Du kan använda funktionen Nz för att returnera noll, en nollängdssträng (" ") eller ett annat angivet värde när ett värde av datatypen Variant är null. Du kan till exempel använda den här funktionen om du vill konvertera ett noll-värde till ett annat värde och förhindra att det sprids via ett uttryck.
Syntax
Nz(variant [, värdeomnull ] )
Funktionen Nnoll har följande argument:
| Argument | Beskrivning |
|---|---|
| variant | Obligatoriskt. En variabel av datatypen Variant. |
| värdeomnull | Valfritt.
Ett värde av datatypen Variant som anger ett värde som ska returneras om variantargumentet är null. Argumentet är det värde som ska returneras i stället för noll eller en tom sträng. Notera: Om du använder funktionen Nnoll i ett uttryck i en fråga utan att använda argumentet värdeomnull får du resultatet en tom sträng för de fält som innehåller nullvärden. |
Om värdet på variantargumentet är null returnerar funktionen Nz siffran noll eller en sträng med nollängd (i frågeuttryck returneras alltid en sträng med nollängd), beroende på om kontexten anger att värdet ska vara ett tal eller en sträng. Om det valfria argumentet värdeomnull används, returnerar funktionen Nz det värde som anges av argumentet, om variantargumentet är Null. När funktionen NZ används i ett frågeuttryck ska den alltid innehålla argumentet värdeomnull .
Om värdet på variant inte är Null returnerar funktionen Nz värdet på varianten.
Kommentarer
Funktionen Nnoll är användbar i uttryck som kan innehålla null-värden. Om du vill tvinga ett uttryck att utvärderas till ett annat värde än null även om det innehåller ett null-värde, använder du funktionen Nnoll för att returnera noll, en sträng med nollängd eller ett anpassat returvärde.
Till exempel returnerar uttrycket 2 + varX alltid ett null-värde när variantenvarX är null.
2 + Nz(varX) Returnerar dock 2.
Du kan ofta använda funktionen Nnoll som ett alternativ till funktionen OOM. I följande exempelkod behövs två uttryck med funktionen OOM för att returnera önskat resultat. Det första uttrycket med OOM används för att kontrollera värdet på en variabel och konvertera det till noll om det är null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
I följande exempel har Nnoll samma funktion som i det första uttrycket, men önskat resultat uppnås med ett steg i stället för två.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Om du anger ett värde för det valfria argumentet värdeomnull kommer detta värde att returneras om argumentet variant är null. Genom att ange argumentet kan du undvika ett uttryck som innehåller funktionen OOM. I följande exempel används funktionen OOM för att returnera en sträng om värdet för varFreight är Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
I nästa exempel kommer det valfria argument som skickas till funktionen Nz att tillhandahålla den sträng som ska returneras om varFreight är Null.
varResult = Nz(varFreight, "No Freight Charge")
Exempel på frågor
| Uttryck | Resultat |
|---|---|
| SELECT ProductID, NZ(Discount,"ingen information tillgänglig") AS Expr2 FROM ProductSales; | Returnerar "Produktnr" i kolumnen Uttr1, beräknar "Null"-värdena i fältet "Rabatt" och returnerar "Ingen information tillgänglig" för alla Null-värden (returnerar icke-null-värden som de är). |
| SELECT ProductID, NZ(Discount,"ingen information tillgänglig") AS ReplaceNull FROM ProductSales; | Returnerar "Produktnr" i kolumnen Produkt, utvärderar "Null"-värdena i fältet "Rabatt" och returnerar "Ingen information tillgänglig" för alla Null-värden (returnerar icke-null-värden som de är) och visas i kolumnen ReplaceNull. |
VBA-exempel
Obs
I exemplen nedan visar vi hur du använder den här funktionen i en Visual Basic for Applications-modul (VBA). Om du vill läsa mer om hur man använder VBA, kan du välja Info för utvecklare i listrutan bredvid Sök och sedan skriva en eller flera söktermer i sökrutan.
I följande exempel utvärderas först en kontroll i ett formulär, och sedan returneras en av två strängar utifrån kontrollens värde. Om värdet på kontrollen är null, används funktionen Nnoll för att konvertera ett null-värde till en sträng med nollängd.
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