VBA程序中null 值出现在if语句中的条件表达式中,结果会是怎样
If Me.账号 <> "1234567" Then
MsgBox "账号错误!"
ElseIf Me.密码 <> "gyjsj" Then
MsgBox "密码错误!"
Else
MsgBox "登录成功!"
DoCmd.OpenForm "系统"
End If
以上成序段当账号、密码为空时,程序不执行 MsgBox "账号错误!"或 MsgBox "密码错误!"也不提示错误,而是执行MsgBox "登录成功!"如果在前面家一个if判断语句 If IsNull(Me.账号) = True Or IsNull(Me.密码) = True Then
'MsgBox " 不能为空!".该程序中的 null值到底被判断为什么值了?
第1个回答 2010-03-09
vba里面,变量在初始化的时候会被赋一个初值,数值型为0,字符串为"",
variant为empty,如果程序中没有明确的赋值为Null的时候,IsNull判断肯定就是False了.
还有一点要注意的是,变量中只有variant型能被设为Null
variant为empty,如果程序中没有明确的赋值为Null的时候,IsNull判断肯定就是False了.
还有一点要注意的是,变量中只有variant型能被设为Null
第2个回答 2010-03-09
IsNull是一个函数,用来判定他的参数是否被赋值过。
如果没有被赋值,该函数返回值为真,赋值过返回值为假。
null在这里不能单独使用,但可以理解为“未定义”、“未赋值”等含义。本回答被提问者采纳
如果没有被赋值,该函数返回值为真,赋值过返回值为假。
null在这里不能单独使用,但可以理解为“未定义”、“未赋值”等含义。本回答被提问者采纳