Можете да използвате функцията Nz , за да върнете нула, низ с нулева дължина (" ") или друга зададена стойност, когато variant е Null. Можете например да използвате тази функция, за да преобразувате стойност Null в друга стойност и да й попречите да се разпространи в израз.
Синтаксис
Nz(variant [, valueifnull ] )
Синтаксисът на функцията Nz използва следните аргументи:
| Аргумент | Описание |
|---|---|
| променлива_от_тип_Variant | Задължително. Променлива от тип данни Variant. |
| стойност_при_Null | Незадължителен (освен когато се използва в заявка).
Стойност от тип Variant, която дава стойност, която трябва да бъде върната, ако аргументът variant е Null. Този аргумент ви позволява да върнете стойност, различна от нула или от низ с нулева дължина. Забележка: Ако използвате функцията Nz в израз в заявка, без да използвате аргумента valueifnull , резултатите ще бъдат низ с нулева дължина в полетата, съдържащи стойности Null. |
Ако стойността на аргумента variant е Null, функцията Nz връща числото нула или низ с нулева дължина (винаги връща низ с нулева дължина, когато се използва в израз на заявка), в зависимост от това дали контекстът показва, че стойността трябва да е число, или низ. Ако е включен незадължителният аргумент стойност_при_null , функцията Nz ще върне стойността, зададена от този аргумент, ако аргументът variant е Null. Когато се използва в израз на заявка, функцията NZ винаги трябва да включва аргумента valueifnull .
Ако стойността на variant не е Null, функцията Nz връща стойността на variant.
Забележки
Функцията Nz е полезна за изрази, които може да включват стойности Null. За да накарате един израз да изчислява стойност, различна от Null, дори когато съдържа стойност Null, използвайте функцията Nz, която връща нула, низ с нулева дължина или стойност по избор.
Например изразът 2 + varX винаги ще връща стойност Null , когато variantvarX е Null. Въпреки това 2 + Nz(varX) връща 2.
Често можете да използвате функцията Nz като алтернатива на функцията IIf. Например в следния код са необходими два израза, включващи функцията IIf, за да се върне желаният резултат. Първият израз, включващ функцията IIf, се използва за проверка на стойността на дадена променлива и за преобразуването й в нула, ако е Null.
varTemp = IIf(IsNull(varFreight), 0, varFreight)
varResult = IIf(varTemp > 50, "High", "Low")
В следващия пример функцията Nz осигурява същата функционалност като първия израз и желаният резултат се постига на една стъпка, вместо на две.
varResult = IIf(Nz(varFreight) > 50, "High", "Low")
Ако подадете стойност за незадължителния аргумент стойност_при_Null, тази стойност ще бъде върната, когато променлива_от_тип_Variant е Null. Като включите този незадължителен аргумент, можете да успеете да избегнете използването на израз, съдържащ функцията IIf. Например следният израз използва функцията IIf , за да върне низ, ако стойността varFreight е Null.
varResult = IIf(IsNull(varFreight), _
"No Freight Charge", varFreight)
В следващия пример незадължителният аргумент, предоставен на функцията Nz , предоставя низа, който трябва да бъде върнат, ако varFreight е Null.
varResult = Nz(varFreight, "No Freight Charge")
Примери за заявки
| Израз | Резултати |
|---|---|
| SELECT ProductID, NZ(отстъпка;"Няма налични подробни данни") AS Израз2 FROM ProductSales; | Връща "ProductID" в колона Expr1, оценява стойностите "Null" в полето "Discount" и връща "Няма налични подробни данни" за всички стойности Null (връща стойностите, които не са Null, както е). |
| SELECT ProductID, NZ(отстъпка;"Няма налични подробности") AS ReplaceNull FROM ProductSales; | Връща "ProductID" в колоната Product, оценява стойностите "Null" в полето "Discount" и връща "No Details Available" за всички стойности Null (връща стойностите, които не са Null, както са) и показва в колона ReplaceNull. |
Пример на VBA
Забележка
Примерите по-долу илюстрират използването на тази функция във Visual Basic for Applications (VBA). За повече информация относно работата с VBA изберете Справочни материали за разработчици в падащия списък до Търсене и въведете един или няколко израза в полето за търсене.
Следващият пример изчислява контрола във формуляр и връща един от два низа на базата на стойността на контролата. Ако стойността на контролата е Null, процедурата използва функцията Nz, за да преобразува стойност Null в низ с нулева дължина.
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