VBA中的Nz 函数使用
Nz 函数
概述
适用于:Access for Office 365 Access 2019 Access 2016 Access 2013 Access 2010 Access 2007
Nz函数 返回零、 零长度字符串 (""),或另一个非Null的指定值。使用此函数以将Null值转换为另一个值。
语法
Nz ( variant [, valueifnull ] )
Nz 函数的语法有以下参数:
参数 | 说明 |
---|---|
Variant | 必需。可变的数据类型变量。 |
valueifnull | 可选(除非用于查询中)。如果变量参数为空,提供值的变量将被返回。此参数允许您返回非零值或零长度的字符串。注意: 如果在查询表达式中使用 Nz 函数而不使用 valueifnull 参数,那么在包含空值的字段中结果将是零长度字符串。 |
如果 variant 参数的值为 Null,则 Nz 函数返回数值零或零长度字符串(用在查询表达式中时始终返回零长度字符串)。具体的结果将取决于上下文中是否对该值应该是数值还是字符串做出了明确的指示。 如果包括可选的 valueifnull 参数,则当 variant 参数为 Null 时,Nz 函数将返回该参数指定的值。 用在查询表达式中时,NZ 函数应始终包含 valueifnull 参数。
进一步说明
Nz 函数对于可能包括 Null 值的表达式很有用。
要强制表达式计算出非 Null 值(即使它包含 Null 值),请使用 Nz 函数来返回零、零长度字符串或自定义返回值 。
例如,
当 Variant varX 为 Null 时,2 + varX 将始终返回 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 函数的表达式。 例如,如果 varFreight 的值为 Null,下面的表达式将使用 IIf 函数返回一个字符串。
varResult = IIf(IsNull(varFreight), _ "No Freight Charge", varFreight)
在下一个示例中,Nz 函数的可选参数提供了 varFreight 为 Null 时将返回的字符串。
varResult = Nz(varFreight, "No Freight Charge")
示例
注意: 下面的示例使用此函数是在 Visual Basic for Applications (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
- 点赞
- 收藏
- 分享
- 文章举报
- OD学习笔记(VB的通用技巧)
- Office终于要抛弃VBA宏了?
- 我的第一个vb例子
- VB
- vb代码2
- 制作VB安装程序问答(Package & Deployment)
- VB如何连接帮助文件
- VB定义字符串数组并赋值
- VB2010(5)_字符串
- VB2010(7)_替换字符串
- VB2010(8)_使用日期
- VB2010(11)_循环语句
- VB2010(12)_数组
- VB2010实例(2) _滚动字幕
- VB2010(15)_一个简单的统计字符或单词数的应用程序
- VB2010(16)_简易的TextEdit
- VB2010(18)_各种对话框的使用
- VB2010实例(3)_闪烁的窗体
- VB2010(19)_菜单工具栏上下文菜单
- VB2010(20)_对象的概念