如何让access空值变成0?(确切的说是让accessNull值变成0)⽅法⼀ if IsNull(Me.新_退休费) = True Then Me.新_退休费 = 0
⽅法⼆ if Nz(Me.原_退休费) = Me.原_退休费 Then Me.原_退休费 = 0
有些时候,⼀些初接触Access的朋友容易犯这样的错误:if Me.新_退休费 = "" Then Me.新_退休费 = 0
以下是Access帮助中NZ的内容
当 Variant 类型的值为 Null 时,可以使⽤ Nz 函数返回零、零长度字符串 ("") 或其他指定值。例如,可以使⽤此函数将 Null 值转换为其他值,并防⽌它通过表达式传播。
语法Nz(variant [, valueifnull ] )
Nz 函数的语法包含以下参数:
参数说明
variant必选。数据类型为 Variant 的变量。
valueifnull可选(除⾮⽤于查询中)。如果 variant 参数为 Null,则此参数是可提
供返回值的 Variant 型参数。此参数允许您返回零或零长度字符串以外
的值。
注释如果在查询表达式中使⽤ Nz 函数⽽不使⽤ valueifnull 参数,则在
包含空值的字段中结果将是零长度字符串。
如果 variant 参数的值为 Null,则 Nz 函数返回数值零或零长度字符串(⽤在查询表达式中时始终返回零长度字符串),具体取决于上下⽂是否对该值应该是数值还是字符串做出了指⽰。如果包括可选的 valueifnull 参数,则当 variant 参数为 Null 时,Nz 函数将返回该参数指定的值。⽤在查询表达式中时,NZ 函数应始终包含 valueifnull 参数。
如果 variant 的值不为 Null,则 Nz 函数将返回 variant 的值。
注解
Nz 函数对于可能包括 Null 值的表达式很有⽤。要强制表达式计算出⾮ Null 值(即使它包含 Null 值),请使⽤ Nz 函数来返回零、零长度字符串或⾃定义返回值。
例如,当 VariantvarX 为 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) 模块中的使⽤。有关使⽤ 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
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论