vba - 有没有我可以用来消除运行时错误的代码?
问题描述
在我的数据库(访问 2010)中,有一个“主菜单”表单,在从未绑定的文本框中搜索后,它会打开一个由事件表提供的事件表单。直到 2019 年 4 月 10 日的最新 Windows 更新之前,代码都可以完美地在事件表单中创建新记录。现在我收到运行时错误 2427(您输入了一个没有值的表达式)。应该对代码进行哪些更改以消除错误?
调试器在引用真/假控件的第一个 If 语句中的事件表单的 Private Sub Form Load() 中中断。
我试过没有运气1.将值更改为(真/假),2.添加我。到 if 语句的开头, 3. 从表单加载中完全删除 if 语句,并将焦点设置到表单上的另一个控件,以及 4. 使用之前在表单加载事件中的代码添加一个表单当前事件。
此代码关闭“主菜单”表单并以添加模式打开事件表单。
Private Sub cmdAddEvent_Click()
cmdAddEvent.SetFocus
cboEvent.Value = ""
blnAddEvent = True
On Error GoTo Err_cmdAddEvent_Click
DoCmd.Close
' wipe out event variables when finding or adding another event
strSaveYearCode = "": strSaveProjectCode = "": strSaveActivityCode = "":strSaveProposalCode = ""
g_strEventYear = "": g_strEventProject = "": g_strEventActivity = "": g_strEventProposal = ""
' end of wipe-out
DoCmd.OpenForm "frmEvents", , , , acFormAdd
'DoCmd.GoToRecord , , acNewRec
Exit_cmdAddEvent_Click:
Exit Sub
Err_cmdAddEvent_Click:
MsgBox Err.Description
blnAddEvent = False
Resume Exit_cmdAddEvent_Click
End Sub
这是在运行时错误出现之前调试器中断的事件表单中的代码。
Private Sub Form_Load()
If proContentApprove = -1 Then ---This line
proDescription.Locked = True
proAudience1.Locked = True
Else
If proContentApprove = 0 Then
proDescription.Locked = False
proAudience1.Locked = False
End If
End If
当记录已经在源表中时,事件表单将毫无意外地打开。我希望事件表单在尝试添加新记录时也能像往常一样打开。
解决方案
推荐阅读
- javascript - 当您选择另一个手风琴打开时如何确保手风琴关闭
- python - 仅在选择所有旋转器时,如何将python文件部分中的screenmanager调用以更改屏幕
- javascript - 有没有办法选择一个容器的 CSSi ID,它是由 JS 从 API 中获取数据生成的
- python - 有人可以帮我解决我的python整数错误吗
- java - 将类实例添加到 JComboBox
- gensim - Gensim Lemmatization Remove Postag b'
- java - 为什么 sum1=sum1+(charnumber[a]*Math.pow(2, b)) 会奇怪地出现?
- r - 如何使用 dplyr 使用以矩阵为参数的函数按组计算摘要
- php - Ajax 调用返回状态码错误:403 Forbidden
- c# - 如何在 .net 核心中对 Workday API 进行身份验证?