Gebruik de functie Nz om nul, een tekenreeks met lengte 0 (" ") of een andere opgegeven waarde te retourneren wanneer een Variant Null is. U kunt deze functie bijvoorbeeld gebruiken om een Null-waarde te converteren naar een andere waarde en te voorkomen dat de waarde wordt doorgegeven via een expressie.
Syntaxis
Nz ( variant [, waardealsnull ] )
De syntaxis van de functie Nz bevat de volgende argumenten:
Argument |
Beschrijving |
variant |
Vereist. Een variabele van het gegevenstype Variant. |
waardealsnull |
Optioneel (tenzij gebruikt in een query). Een variant waarmee een waarde wordt geleverd die als resultaat moet worden gegevens als het argument variant de waarde Null heeft. Met behulp van dit argument kunt u een andere waarde dan nul of een tekenreeks met lengte nul als resultaat geven. Opmerking: Als u de functie Nz gebruikt in een expressie in een query zonder het argument waardealsnull te gebruiken, resulteert dit in een tekenreeks met lengte nul in de velden die waarden null bevatten. |
Als de waarde van het variantargumentNull is, retourneert de functie Nz het getal nul of een tekenreeks met lengte nul (retourneert altijd een tekenreeks met lengte nul wanneer deze wordt gebruikt in een query-expressie), afhankelijk van het feit of de context aangeeft dat de waarde een getal of een tekenreeks moet zijn. Als de optionele waarde als het argument is opgenomen, retourneert de functie Nz de waarde die door dat argument is opgegeven als het variantargumentNull is. Bij gebruik in een query-expressie moet de functie NZ altijd het argument valueifnull bevatten,
Als de waarde van variant niet Null is, retourneert Nz de waarde van variant.
Opmerkingen
De functie Nz is handig voor expressies die Null-waarden kunnen bevatten. Als het resultaat van een expressie niet Null moet zijn, zelfs niet wanneer deze een Null-waarde bevat, gebruikt u de functie Nz om nul, een tekenreeks met lengte nul of een aangepaste retourwaarde te retourneren.
De expressie 2 + varX levert bijvoorbeeld altijd een Null-waarde op wanneer Variant varXNull is. 2 + Nz(varX) daarentegen resulteert in 2.
De functie Nz kan vaak worden gebruikt als een alternatief voor de functie IIf. In de volgende code zijn bijvoorbeeld twee expressies met de functie IIf nodig om het gewenste resultaat te krijgen. De eerste expressie met de functie IIf is nodig om de waarde van een variabele te controleren en deze te converteren naar nul als de variabele Null is.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
In het volgende voorbeeld biedt de functie Nz dezelfde functionaliteit als de eerste expressie en wordt het gewenste resultaat met één stap bereikt in plaats van twee.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Als u een waarde opgeeft voor het optionele argument waardealsnull, wordt die waarde geretourneerd wanneer variantNull is. Met behulp van dit optionele argument is het misschien niet nodig om een expressie te gebruiken met daarin de functie IIf. In de volgende expressie wordt de functie IIf bijvoorbeeld gebruikt om een tekenreeks te retourneren als de waarde van varFreightNull is.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
In het volgende voorbeeld bevat het optionele argument voor de functie Nz de tekenreeks die moet worden geretourneerd als varFreightNull is.
varResult = Nz(varFreight, "No Freight Charge")
Queryvoorbeelden
Expression |
Resultaten |
SELECT ProductID, NZ(Discount,"No Detail Available") AS Expr2 FROM ProductVerkoop; |
Retourneert 'ProductID' in kolom Expr1, evalueert de null-waarden in het veld 'Korting' en retourneert 'Geen details beschikbaar' voor alle Null-waarden (retourneert de niet-null-waarden ongewijzigd). |
SELECT ProductID, NZ(Discount,"No Detail Available") AS ReplaceNull FROM ProductVerkoop; |
Retourneert 'ProductID' in kolom Product, evalueert de null-waarden in het veld 'Korting' en retourneert 'Geen details beschikbaar' voor alle Null-waarden (retourneert de niet-null-waarden in de huidige staat) en wordt weergegeven in kolom ReplaceNull. |
VBA-voorbeeld
Opmerking: In de volgende voorbeelden wordt het gebruik van deze functie in een VBA-module (Visual Basic for Applications) toegelicht. Meer informatie over het werken met VBA vindt u door in de vervolgkeuzelijst naast Zoeken de optie Referentie voor ontwikkelaars te selecteren en een of meer termen in het zoekvenster te typen.
In het volgende voorbeeld wordt een besturingselement op een formulier geëvalueerd en bestaat het resultaat uit één van twee mogelijke tekenreeksen, afhankelijk van de waarde van het besturingselement. Als de waarde van het besturingselement Null is, wordt de functie Nz gebruikt om een Null-waarde te converteren naar een tekenreeks met lengte nul.
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