如何解决MS Access:为什么无法访问我的代码?
我正在尝试对我的代码进行一些错误处理,并且我希望在用户尝试输入现有记录时显示我的自定义错误消息。 Access 给出了自己的标准错误消息,指示重复记录,但我希望显示我的。问题是无法到达我的自定义错误消息的代码部分,因此给了我默认消息。
文本框的名称是“DepartmentCode”,它所提取的表的名称是“tDepartment”,列名称是“DepartmentCode”
我的代码是这样的...
Private Sub bAddDepartment_Click()
On Error GoTo bAddDepartment_Click_Err
Dim OKToSave As Boolean
OKToSave = True
If Not SomethingIn(Me.DepartmentCode) Then ' Null
Beep
MsgBox "A department code is required",vbOKOnly,"Missing information"
OKToSave = False
Else
Dim myDepartmentCode As String
myDepartmentCode = "DepartmentCode = " + Chr(34) + Me.DepartmentCode + Chr(34)
If DLookup("DepartmentCode","tDepartment",myDepartmentCode) <> Null Then
MsgBox "Department already on file","Department already on file."
OKToSave = False
End If
End If
If OKToSave Then
' If we get this far,all data is valid and it's time to save
Me.Dirty = False
DoCmd.GoToRecord,"",acNewRec
End If
bAddDepartment_Click_Exit:
Exit Sub
bAddDepartment_Click_Err:
Resume bAddDepartment_Click_Exit
End Sub
未到达的部分是If DLookup("DepartmentCode",myDepartmentCode) <> Null Then
为什么会这样?
解决方法
If DLookup("DepartmentCode","tDepartment",myDepartmentCode) <> Null Then
你无法与 Null
相比。在立即窗口中试试这个:
? ("foo" <> Null)
Null
使用IsNull()
If Not IsNull(DLookup("DepartmentCode",myDepartmentCode)) Then
或者如果空字符串也是可能的,请使用 Nz()
If Nz(DLookup("DepartmentCode",myDepartmentCode),"") <> "" Then
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。