我是新来的。我也是MS Access的新手。我的问题是,当我点击MS Access的关闭按钮时,会发生以下情况:
我正在使用vba代码在用户ID文本框的LostFocus事件中显示消息。这是代码
Private Sub txtuserid_LostFocus()
If Len(txtuserid.Value & nullvalue) = 0 Then
MsgBox "You can not leave it blank."
txtpswd.SetFocus
txtuserid.SetFocus
Else
txtuserid = txtuserid.Value
End If
End Sub
消息显示4次。
之后出现运行时错误:
运行时错误' 2110':
图书馆系统无法将焦点移至控件txtuserid。
使用"结束","调试"和"帮助"的按钮。
所以我的问题是,有没有办法在退出应用程序时停止VBA代码,或者将SetFocus更好的方法停止到所需的字段。
答案 0 :(得分:0)
尝试将代码移动到Unload事件,如下所示:
Private Sub Form_Unload(Cancel As Integer)
If Nz(Me.txtuserid, "") = "" Then
MsgBox "You can not leave User ID blank."
Me.txtuserid.SetFocus
Cancel = True
End If
End Sub
在表单关闭之前,它将检查以确保txtuserid中有值。如果没有,它将抛出一个消息框,如此,将焦点重新设置在其上,并取消卸载事件,使表单保持打开状态。
答案 1 :(得分:0)
在yourButton_Click事件中,确保在尝试登录时存在某些内容:
If Len(txtuserid & "") = 0 Then
MsgBox "Missing user id"
txtuserid.SetFocus
Exit Sub
End If
If Len(txtPassword & "") = 0 Then
MsgBox "Missing password"
txtPassword.SetFocus
Exit Sub
End If