Du kan använda funktionen Nnoll för att returnera noll, en nollängdssträng (" "), eller ett annat angivet värde när en 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
Nnoll(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 argumentet variant är Null. Argumentet är det värde som ska returneras i stället för noll eller en tom sträng. Observera: Om du använder funktionen Nnoll i ett uttryck i en fråga utan att använda argumentet värdeomnull blir resultatet en nollängdssträng i fälten som innehåller null-värden. |
Om värdet för argumentet variant är Null returnerar funktionen Nnoll talnoll eller en nollängdssträng (returnerar alltid en nollängdssträng när den används i ett frågeuttryck), beroende på om kontexten anger att värdet ska vara ett tal eller en sträng. Om det valfria argumentet värdeomnull tas med returnerar funktionen Nnoll värdet som anges av argumentet om argumentet variant är Null. När funktionen NNOLL används i ett frågeuttryck ska den alltid innehålla argumentet värdeomnull .
Om värdet för variant inte är Null returnerar funktionen Nnoll värdet för variant.
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.
Uttrycket 2 + varX returnerar till exempel alltid ett Null-värde när variantenvarX är Null. Returnerar dock 2 + Nz(varX) 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 uttryck används till exempel funktionen OOM för att returnera en sträng om värdet varFreight är Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
I nästa exempel ger det valfria argumentet som anges till funktionen Nnoll den sträng som ska returneras om varFreight är Null.
varResult = Nz(varFreight, "No Freight Charge")
Frågeexempel
| Uttryck | Resultat |
|---|---|
| SELECT ProductID, NZ(Discount,"No Detail Available") AS Uttr2 FROM ProductSales; | Returnerar "ProductID" i kolumn Uttr1, utvärderar nullvärdena i fältet "Rabatt" och returnerar "Ingen information tillgänglig" för alla Null-värden (returnerar icke-null-värdena som de är). |
| SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductSales; | Returnerar "ProductID" i kolumnen Produkt, utvärderar nullvärdena i fältet "Rabatt" och returnerar "Ingen information tillgänglig" för alla Null-värden (returnerar icke-null-värdena som de är) och visas i kolumnen ErsättNull. |
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