Nz 函数

重要:  本文是由机器翻译的,请参阅免责声明。请在 此处 中查找本文的英文版本以便参考。

您可以使用Nz函数返回零、 零长度字符串 (""),或另一个指定值时变量很Null。例如,您可以使用此函数以将Null值转换为另一个值,并防止通过表达式传播。

语法

Nz ( variant [valueifnull ] )

Nz 函数的语法有以下参数:

参数

说明

Variant

必需。可变的数据类型变量

valueifnull

可选(除非用于查询中)。如果变量参数为,提供值的变量将被返回。此参数允许您返回非零值或零长度的字符串。

注意: 如果在查询表达式中使用 Nz 函数而不使用 valueifnull 参数,那么在包含空值的字段中结果将是零长度字符串。


如果 variant 参数的值为 Null,则 Nz 函数返回数值零或零长度字符串(用在查询表达式中时始终返回零长度字符串),具体取决于上下文是否对该值应该是数值还是字符串做出了指示。 如果包括可选的 valueifnull 参数,则当 variant 参数为 Null 时,Nz 函数将返回该参数指定的值。 用在查询表达式中时,NZ 函数应始终包含 valueifnull 参数。

如果 variant 的值不为 Null,则 Nz 函数将返回 variant 的值。

备注

Nz 函数对于可能包括 Null 值的表达式很有用。 要强制表达式计算出非 Null 值(即使它包含 Null 值),请使用 Nz 函数来返回零、零长度字符串或自定义返回值。

例如,当 Variant varXNull 时,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 提供一个值,则当 variantNull 时将返回该值。 通过包括此可选参数,可以避免使用包含 IIf 函数的表达式。 例如,如果 varFreight 的值为 Null,下面的表达式将使用 IIf 函数返回一个字符串。

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

在下一个示例中,Nz 函数的可选参数提供了 varFreightNull 时将返回的字符串。

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

示例

注意: 下面的示例说明使用此函数在 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

注意: 机器翻译免责声明:本文是由无人工介入的计算机系统翻译的。Microsoft 提供机器翻译是为了帮助非英语国家/地区用户方便阅读有关 Microsoft 产品、服务和技术的内容。由于机器翻译的原因,本文可能包含词汇、语法或文法方面的错误。

扩展你的技能
了解培训
抢先获得新功能
加入 Office 预览体验计划

此信息是否有帮助?

谢谢您的反馈!

谢谢你的反馈! 可能需要转接到 Office 支持专员。

×