Applies ToAccess для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Функцию Nz можно использовать для возврата нуля, пустая строка (" "), или другого указанного значения, если значение Variant равно NULL. Например, эту функцию можно использовать для преобразования значения NULL в другое значение и предотвращения его распространения через выражение.

Синтаксис

Nz ( variant [, valueifnull ] )

Функция Nz имеет аргументы, указанные ниже.

Аргумент

Описание

Переменная

Обязательный аргумент. Переменная, имеющая тип данных Variant.

Значение_если_null

Необязательный аргумент (если он используется не в запросе) типа Variant. Объект Variant, предоставляющий возвращаемое значение, если аргумент variant имеет значение NULL. Этот аргумент позволяет вернуть значение, отличное от нуля или пустой строки.

Примечание: Если функция Nz используется в выражении запроса без аргумента Значение_если_null , в результате выполнения этой функции для полей, содержащих пустые значения, будет возвращена пустая строка.

Если значение аргумента variant равно NULL, функция Nz возвращает нулевую или нулевую строку (всегда возвращает строку нулевой длины при использовании в выражении запроса) в зависимости от того, должен ли контекст указывать, должно ли значение быть числом или строкой. Если включен необязательный аргумент valueifnull , функция Nz вернет значение, указанное этим аргументом, если аргумент variant имеет значение NULL. При использовании в выражении запроса функция NZ всегда должна включать аргумент valueifnull .

Если значение variant не равно NULL, функция Nz возвращает значение variant.

Замечания

Функция Nz полезна для выражений, которые могут содержать значения NULL . Чтобы принудить выражение к значению, отличному от NULL , даже если оно содержит значение NULL , используйте функцию Nz для возврата нуля, строки нулевой длины или настраиваемого возвращаемого значения.

Например, выражение 2 + varX всегда возвращает значение NULL , еслиvarXVariant имеет значение 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")

Если указать значение для необязательного аргумента valueifnull, это значение будет возвращено, если параметр variant имеет значение Null. Включив этот необязательный аргумент, можно избежать использования выражения, содержащего функцию IIf . Например, в следующем выражении функция IIf возвращает строку, если значение varFreight равно Null.

varResult = IIf(IsNull(varFreight), _    "No Freight Charge", varFreight)

В следующем примере необязательный аргумент, предоставленный функции Nz , предоставляет строку, возвращаемую, если varFreight имеет значение Null.

varResult = Nz(varFreight, "No Freight Charge")

Примеры запросов

Expression

Результаты

SELECT ProductID, NZ(Discount, "No Detail Available") AS Expr2 FROM ProductSales;

Возвращает "ProductID" в столбце Expr1, вычисляет значения NULL в поле "Скидка" и возвращает значение "Нет доступных сведений" для всех значений NULL (возвращает значения, отличные от NULL, как есть).

SELECT ProductID, NZ(Discount, "No Detail Available") AS ReplaceNull FROM ProductSales;

Возвращает "ProductID" в столбце Продукт, вычисляет значения NULL в поле "Скидка" и возвращает значение "Нет сведений доступно" для всех значений NULL (возвращает значения, отличные от NULL) и отображается в столбце ReplaceNull.

Пример VBA

Примечание: В примерах ниже показано, как использовать эту функцию в модуле Visual Basic для приложений (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, vbExclamationEnd Sub

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

В сообществах можно задавать вопросы и отвечать на них, отправлять отзывы и консультироваться с экспертами разных профилей.