Функция access nz: Метод Application.Nz (Access) | Microsoft Learn
Содержание
Метод Application.Nz (Access) | Microsoft Learn
-
Статья -
-
Используйте функцию Nz для возврата нуля (0), строки нулевой длины («»), или другого указанного значения, если variant имеет значение NULL. Например, эту функцию можно использовать для преобразования значения NULL в другое значение и предотвращения его распространения через выражение.
Синтаксис
expression. Nz (Value, ValueIfNull)
выражение: переменная, представляющая объект Application.
Параметры
Имя | Обязательный или необязательный | Тип данных | Описание |
---|---|---|---|
Value (Значение) | Обязательный | Variant | Переменная типа данных Variant.![]() |
ValueIfNull | Необязательный | Variant | Необязательно. Объект Variant, предоставляющий возвращаемое значение, если аргумент variant имеет значение NULL. Этот аргумент позволяет возвращать значение, отличное от нуля или строки нулевой длины. ПРИМЕЧАНИЕ. Если вы используете функцию Nz в выражении в запросе без использования аргумента ValueIfNull , результатом будет строка нулевой длины в полях, содержащих значения NULL . |
Возвращаемое значение
Variant
Если значение аргумента variant равно NULL, то функция Nz возвращает неназначенную переменную Variant, специальное значение Empty. В VBA при вычислении значение Empty приведет к нули или нулевой длине строки в зависимости от того, указывает ли контекст, что значение должно быть числом или строкой. Например:
Nz(Null) + 2 ' returns 2 Nz(Null) & 2 ' returns "2" Nz(Null) + "2" ' returns "2" Nz(Null) & "2" ' returns "2"
При использовании в выражении запроса Nz возвращает аналогичные значения результатов.
Если включен необязательный аргумент ValueIfNull , функция Nz вернет значение, указанное этим аргументом, если аргумент variant имеет значение NULL.
Если значение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")
Если указать значение для необязательного аргумента ValueIfNull, это значение будет возвращено, если значение равно NULL. Включив этот необязательный аргумент, можно избежать использования выражения, содержащего функцию IIf . Например, следующее выражение использует функцию IIf для возврата строки, если значение
varFreight
равно Null.
varResult = IIf(IsNull(varFreight), "No Freight Charge", varFreight)
В следующем примере необязательный аргумент, предоставленный функции Nz , предоставляет строку, возвращаемую, если varFreight
имеет значение NULL.
varResult = Nz(varFreight, "No Freight Charge")
Пример
В следующем примере элемент управления вычисляется в форме и возвращается одна из двух строк на основе значения элемента управления. Если значение элемента управления равно NULL, процедура использует функцию IsNull для выбора сообщения, а затем функцию 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 using IsNull. varResult = IIf(IsNull(ctl.Value), _ "No value.", "Value is " & ctl.Value & ".") ' Display result using IsNull. MsgBox varResult, vbExclamation, "Using IsNull" ' Choose result based on value of control using Nz. ' "Value is" + Str(Null) evaluates to Null. varResult = Nz("Value is" + Str(ctl.Value), "No value") & ".") ' Display result using Nz. MsgBox varResult, vbExclamation, "Using Nz" End Sub
Поддержка и обратная связь
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.
App Store: NZ Police
Описание
The NZ Police App makes it easier to access New Zealand Police’s services and information.
Get our latest news, alerts and safety advice, easily report incidents and issues to Police, and access our other online services – all from your phone.
Download the NZ Police App and help us make New Zealand the safest country.
Keep informed
— Stay up to date with Police news, nationally and in your district
— Receive real-time emergency alerts for traffic and major national events
— See media releases, Ten One articles and other news content from Police
— Subscribe to push notifications for news, alerts and important safety advice
Access online services
— Easily use the 105 online form to report any non-emergency situation to Police
— Get updates/add to an existing 105 report
— Pay an infringement fee or ticket
— Check to see if a vehicle is listed as stolen
— Quickly call 105 for non-emergencies or 111 for emergencies
Find information and advice
— Get answers to some frequently asked questions
— Explore key Police data and insights, and find out how Police is tracking against its targets
— Learn about careers with NZ Police
New Zealand Police is committed to being accessible and available. That means providing a stronger presence in the community, as well as ensuring our service and information are available to you, anywhere, any time. The NZ Police App is an important step on that journey, allowing us to share our news and alerts further and extend access to our online services. It’s one of the ways we’re working to make sure New Zealand is the safest country.
We’ll be listening to feedback and making regular updates to the NZ Police App to provide the best experience. Leave us a review or provide feedback via the Police website: https://forms.police.govt.nz/forms/contact-new-zealand-police/
Версия 1.0.13
— Fixed the URL which users are directed to when selecting ‘More’ -> ‘Become a Police Communicator’
Разработчик New Zealand Police указал, что в соответствии с политикой конфиденциальности приложения данные могут обрабатываться так, как описано ниже. Подробные сведения доступны в политике конфиденциальности разработчика.
Не связанные
с пользователем данные
Может вестись сбор следующих данных, которые не связаны с личностью пользователя:
Данные об использовании
Диагностика
Конфиденциальные данные могут использоваться по-разному в зависимости от вашего возраста, задействованных функций или других факторов. Подробнее
Информация
- Провайдер
- New Zealand Police
- Размер
- 23,1 МБ
- Категория
Новости
- Возраст
- 4+
- Copyright
- © New Zealand Police
- Цена
- Бесплатно
Поддержка приложения
Политика конфиденциальности
Другие приложения этого разработчика
Вам может понравиться
Функция
Nz — Доступ — SS64.
com
Функция Nz — Доступ — SS64.com
- SS64
- Доступ
- Практическое руководство
Обнаружить значение NULL или строку нулевой длины. Преобразование NULL в строку нулевой длины или другое значение.
Синтаксис Nz( выражение , [ valueifnull ]) Ключ valueifnull Возвращаемое значение, если выражение равно NULL. Если value_if_null не указано и выражение = NULL значение по умолчанию будет возвращена строка нулевой длины.
Функцию Nz() можно использовать в VBA или в запросе SQL.
MS Access различает пустую строку «» и значение NULL. Если вы введете что-то в поле, а затем удалите его, у вас останется строка нулевой длины, в отличие от того, если в поле ничего не было введено, оно будет NULL.
Nz() обнаружит любой из них.
value_if_null может быть настроен на возврат любой строки или числа. Если Nz() возвращает #Error, это чаще всего связано с возвратом типа данных, который несовместим с типом данных вашей переменной.
Nz() не будет помечать пустую переменную, которая еще не была инициализирована.
Если значение аргумента варианта равно NULL, функция Nz возвращает нулевое число или строку нулевой длины (всегда строку нулевой длины при использовании в выражении запроса), в зависимости от того, указывает ли контекст, что значение должно быть числом или строкой.
Это не всегда то, что вам нужно, например, в базе данных продаж у вас могут быть бесплатные образцы товаров по цене 0 долларов, поэтому для совершенно нового товара, стоимость которого еще не известна, вам не нужно значение по умолчанию 0 долларов, в таких случаях что-то вроде Nz(Me!item_price,»N/A») будет более разумным.
Функция Nz очень полезна для перехвата ошибок, вызванных NULL/отсутствующими значениями, это одна из самых популярных/интенсивно используемых функций Access.
Nz() не обязательно должен возвращать тип данных, соответствующий исходным данным, поэтому вы можете проверить целое число и вернуть строку или наоборот.
Примеры
В запросе:
В VBA:
стрДемо = Nz(Me!txtDescription)
strDemo = Nz(Me!txtName, «Ошибка»)
intProduct = Nz(Me!cmbProductID, 0)
Если intProduct = 0 Тогда Msgbox «Необходимое значение отсутствует!»
«Самый громкий звук издает пустой сосуд» ~ Уильям Шекспир
Связанные
IIf — функция If-Then-Else
If Then Else — If-Then-Else
IsNull — проверить, является ли выражение NULL
IsEmpty — проверить, является ли переменная пустой (неназначенной)
Перехват ошибок — вы попытались присвоить нулевое значение переменной
Copyright © 1999-2023 SS64.com
Некоторые права защищены
Как использовать функцию Nz для устранения ошибок отсутствия значений в запросах доступа
Как использовать функцию преобразования нуля в ноль (Nz) для предотвращения выражений в полях запроса Access, вызывающих ошибки из-за пустых или отсутствующих данных.
Последнее обновление сделано Дэвидом Уоллисом 12 октября 2021 г.
Проблема
«Мы работаем над запросом в Access. В запросе есть два поля — «Число1» и «Число2», которые могут содержать число или нуль. Когда мы создаем поле выражения в запросе, Итого: [Число1]+[Число2], общее количество работает нормально, когда оба Число1 и Число2 содержат числа.
«Проблема возникает, когда один из них равен null , потому что общее количество становится равным null . Это не то, что мы хотим, конечно.
«Что нам делать?»
Решение
Простое решение вашей проблемы — использовать функцию Nz (обнуление нуля). Попробуйте изменить поле выражения на это:
Итого:Nz([Число1])+Nz([Число2])
Обратите внимание, что если и Number1, и Number2 имеют нулевые значения, Total возвращает ноль.
Microsoft Access 97, 2000, 2002 (XP), 2003, 2007, 2010, 2013, 2016, 2019 и Microsoft 365 будут реагировать аналогично на применение функции Nz таким образом.
Привет Nz Function
Полный синтаксис функции Nz:
Nz( value_to_assess , value_if_null )
value_to_assess — это значение, которое функция должна оценить.
value_if_null — это то, что вы хотите, чтобы функция возвращала, когда value_to_assess само по себе является нулевым значением. Этот аргумент является необязательным. Если вы опустите его в своей формуле, то Nz предполагает, что он принимает значение ноль
Null означает вообще не имеет значения .
Вы можете использовать окно Immediate в редакторе Visual Basic Access, чтобы проверить, как работает функция Nz. Скопируйте и вставьте любой из приведенных ниже примеров в окно Immediate, а затем нажмите Enter, чтобы увидеть результат.
?Nz(null)
[строка нулевой длины]
?Nz(null,»»)
[строка нулевой длины]
?Nz(null,0)
0
?Nz(null,»Отсутствует значение»)
СловаОтсутствует значение
?Nz(123,»Отсутствующее значение»)
123
?Nz(«XYZ»,»Отсутствующее значение»)
XYZ
?Nz(«XYZ»,0)
XYZ
?Nz(нуль)+Nz(123)
123
?Nz(нуль)+Nz(нуль)
0
?Nz(null,»Отсутствующее значение»)+Nz(null)
Отсутствующее значение
Ваша поддержка DMW TIPS
Пожалуйста, поддержите этот веб-сайт, сделав пожертвование, чтобы избавить его от рекламы и помочь в оплате времени, затрачиваемого на добавление нового контента.