全部显示

Nz 函数

       

使用 Nz 函数可以返回 0、零长度字符串(" "),或者当一个 VariantNull 时,该函数返回其他指定值。Variant 型。

expression.Nz(Value, ValueIfNull)

expression  必需。返回“Applies To”列表中的一个对象的表达式。

Value  必需 Variant 型。Variant 数据类型的变量。

ValueIfNull  可选 Variant 型。 可选参数(除非在查询中使用)。如果 variant 参数是 Null,提供返回值的 Variant 型。该参数可以返回非零或非零长度字符串。注意  如果在查询的表达式中使用 Nz 函数而不使用 valueifnull 参数,在包含 null 值的字符串中将返回零长度字符串。

说明

例如,使用该函数可以将 Null 值转换为其他值并防止它通过表达式传送。

如果 variant 参数的值为 NullNz 函数将返回零或零长度字符串(当用在查询表达式中时,总是返回零长度字符串),这取决于从上下文中该值是数值还是字符串。如果包含了可选 valueifnull 参数,则当 variant 参数为 Null 时,Nz 函数将返回由该参数指定的值。当在查询表达式中使用时,NZ 函数总是包含 valueifnull 参数。

variant 值不为 Null 时,则 Nz 函数返回 variant 值。

Nz 函数对可能包含 Null 值的表达式是很有用的。要使表达式即使在包含 Null 值时也能计算得到一个非 Null 值,可使用 Nz 函数来返回 0、零长度字符串或一个自定义的返回值。

例如,在 Variant 2 + varXNull 时,表达式 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")

如果为可选参数 valueifnul 提供了一个值,则当 variantNull 时,将返回该值。通过包含该可选参数,可以避免使用含有 IIf 函数的表达式。例如,下面的表达式使用 IIf 函数,在 varFreight 的值为 Null 时返回一个字符串。

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

在下一个示例中,当 varFreight ht 为 Null 时,Nz 函数的可选参数提供了返回的字符串。

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