一、问题描述:
用IsNull来判断控件内容为空值时,有时会出现判断不准,代码如下:
Private Sub 本笔保存_Click()
Dim rst As DAO.Recordset
If IsNull(Me.宾客姓名) Then
MsgBox "请输入嘉宾姓名", vbCritical, "提示"
Me.宾客姓名.SetFocus
Exit Sub
End If
If IsNull(Me.金额) Then
MsgBox "请输入金额", vbCritical, "提示"
Me.金额.SetFocus
Exit Sub
End If
If IsNull(Me.莅临现场) Then
MsgBox "请选择宾客到场情况", vbCritical, "提示"
Me.莅临现场.SetFocus
Exit Sub
End If
判断为空如下图错误提示:
二、解决方法:
为了确保万无一失,可以判断字符数的方式,用Len函数,如果控件没有填字符,则长度为0,代码如下:
If Len(Me.莅临现场)=0 Then
MsgBox "请选择宾客到场情况", vbCritical, "提示"
Me.莅临现场.SetFocus
Exit Sub
End If
就可以解决。