MS Access:为什么无法访问我的代码?
MS Access: Why is my code not being reached?
我正在尝试对我的代码进行一些错误处理,并且我希望在用户尝试输入已经存在的记录时显示我的自定义错误消息。 Access 给出了自己的标准错误消息,指示重复记录,但我希望显示我的记录。问题是我的自定义错误消息未到达的代码部分,因此给我默认消息。
文本框的名称是“DepartmentCode”,table 的名称是“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", vbOKOnly, "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", "tDepartment", myDepartmentCode) <> Null Then
为什么会这样?
Debugging VBA Code <-- 查看实际执行了哪些行。
If DLookup("DepartmentCode", "tDepartment", myDepartmentCode) <> Null Then
你无法与 Null
相比。立即尝试此操作 Window:
? ("foo" <> Null)
Null
使用IsNull()
If Not IsNull(DLookup("DepartmentCode", "tDepartment", myDepartmentCode)) Then
或者如果空字符串也是可能的,使用Nz()
If Nz(DLookup("DepartmentCode", "tDepartment", myDepartmentCode), "") <> "" Then
我正在尝试对我的代码进行一些错误处理,并且我希望在用户尝试输入已经存在的记录时显示我的自定义错误消息。 Access 给出了自己的标准错误消息,指示重复记录,但我希望显示我的记录。问题是我的自定义错误消息未到达的代码部分,因此给我默认消息。
文本框的名称是“DepartmentCode”,table 的名称是“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", vbOKOnly, "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", "tDepartment", myDepartmentCode) <> Null Then
为什么会这样?
Debugging VBA Code <-- 查看实际执行了哪些行。
If DLookup("DepartmentCode", "tDepartment", myDepartmentCode) <> Null Then
你无法与 Null
相比。立即尝试此操作 Window:
? ("foo" <> Null)
Null
使用IsNull()
If Not IsNull(DLookup("DepartmentCode", "tDepartment", myDepartmentCode)) Then
或者如果空字符串也是可能的,使用Nz()
If Nz(DLookup("DepartmentCode", "tDepartment", myDepartmentCode), "") <> "" Then