Функція Nz

Застосовується до
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Функцію Nz можна використовувати для повернення нуля, рядка нульової довжини (" ) або іншого вказаного значення, якщо значення Variant має Null-значення. Наприклад, за допомогою цієї функції можна перетворювати значення Null на інше значення, запобігаючи його розповсюдженню у виразі.

Синтаксис

Nz(variant [, valueifnull ] )

Синтаксис функції Nz має такі аргументи:

Аргумент Опис
Варіант — обов’язковий аргумент. Змінна типу даних Variant.
значення_якщо_null Необов’язковий (за винятком використання в запитах). Варіант, який надає значення, яке повертається, якщо аргумент варіант має Null-значення. За допомогою цього аргументу можна повертати значення, відмінні від нуля або рядка нульової довжини.
Примітка: Якщо ви використовуєте функцію Nz у виразі в запиті, не використовуючи аргумент valueifnull , результати будуть рядком нульової довжини в полях, які містять null-значення.

Якщо значення аргументу variant має Null-значення, функція Nz повертає число нуль або рядок нульової довжини (завжди повертає рядок нульової довжини, коли використовується у виразі запиту), залежно від того, чи контекст вказує, що значення має бути числом або рядком. Якщо включено необов'язковий аргумент valueifnull , функція Nz поверне значення, указане цим аргументом, якщо аргумент variant має Null-значення. Якщо використовується у виразі запиту, функція NZ завжди має включати аргумент valueifnull ,

Якщо значення варіанта не дорівнює Null, функція Nz повертає значення варіанта.

Примітки

Функцію 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 , щоб повернути рядок, якщо значення varFreightnull.

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 у полі "Знижка" та повертає значення "Немає доступних відомостей" для всіх Null-значень (повертає значення, не null, як є).
SELECT ProductID, NZ(Знижка;"Немає відомостей") AS ReplaceNull FROM ProductSales; Повертає значення "Ідентифікатор товару" у стовпці "Продукт", обчислює значення "Null" у полі "Знижка" та повертає значення "Немає доступних відомостей" для всіх 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