前一段时间,我创建了一个“预制”访问数据库(联系跟踪),并且像往常一样,其中的一些代码很尴尬。现在,我正在尝试进行一些编辑,添加一些报告和表格以及其他一些功能。到目前为止一切都进展顺利,但是我遇到了一个问题,就是我无法束手无策,而且我的眼睛开始交叉,试图找出问题所在。这两个报告都旨在根据自己的文本打开完全相同的数据。
以下是代码:
rptListings
-这很好用
Private Sub Text107_Click()
On Error GoTo Text107_Click_Err
If (IsNull(Text107)) Then
Beep
End If
If (Not IsNull(Text107)) Then
DoCmd.OpenForm "frmContactDetails", acNormal, "", "[ID]=" & Me.txtContactID, , acDialog
End If
Text107_Click_Exit:
Exit Sub
Text107_Click_Err:
MsgBox Error$
Resume Text107_Click_Exit
End Sub
rptNeedToContact
-这不起作用
Private Sub txtFullName_Click()
On Error GoTo txtFullName_Click_Err
If (IsNull(txtFullName)) Then
Beep
End If
If (Not IsNull(txtFullName)) Then
DoCmd.OpenForm "frmContactDetails", acNormal, "", "[ID]=" & Me.txtContactID, , acDialog
End If
txtFullName_Click_Exit:
Exit Sub
txtFullName_Click_Err:
MsgBox Error$
Resume txtFullName_Click_Exit
End Sub
错误本身表示表单本身带有“ OnLoad”字样。这是代码:
Private Sub Form_Load()
On Error GoTo Form_Load_Err
If (IsNull(OpenArgs)) Then
Exit Sub
End If
DoCmd.GoToRecord , "", acNewRec
If (Not CurrentProject.IsTrusted) Then
Exit Sub
End If
TempVars.Add "NewData", Mid(Nz(OpenArgs), InStr(Nz(OpenArgs), "=") + 1)
TempVars.Add "Space", InStrRev(TempVars!NewData, " ")
On Error Resume Next
If (TempVars!Space = 0 And TempVars!NewData <> "") Then
[Last Name] = TempVars!NewData
End If
If (TempVars!Space > 0) Then
[First Name] = Left(TempVars!NewData, TempVars!Space - 1)
[Last Name] = Mid(TempVars!NewData, TempVars!Space + 1)
End If
TempVars.Remove "NewData"
TempVars.Remove "Space"
Form_Load_Exit:
Exit Sub
Form_Load_Err:
MsgBox Error$
Resume Form_Load_Exit
End Sub
这是错误的图片
显示框实际上是一个文本框
编辑:这是指向数据库的Google云端硬盘链接。我删除了除姓名以外的所有个人信息。 GOOGLE DRIVE