我有一个Access表单,可以通过单击另一个表单中的按钮来打开它。我有一个Form_Current事件,该事件通过VBA更新了该表单上的多个控件。由于某种原因,这会导致Form_Current完成后触发BeforeUpdate事件,即使MS帮助文档说在VBA中更改控件不会触发此事件。我设法隔离出至少一行会触发此事件的行:
niklasraab@DESKTOP-BLJGB4D:/mnt/c/Flutter/src/hapii$ bash test.sh
1
")syntax error: invalid arithmetic operator (error token is "
1
niklasraab@DESKTOP-BLJGB4D:/mnt/c/Flutter/src/hapii$
其中txtEvent ID是控件的名称,而gblEventID是模块级变量。我不知道为什么会这样。有什么想法吗?
如果您想查看整个子目录:
txtEventID = gblEventID
答案 0 :(得分:0)
您可以修改/减少该代码:
Private Sub Form_Current()
Dim lookupNum As Integer
If Me.NewRecord = True Then
lookupNum = Nz(DMax("Subplot_Num", "tbl_Subplots", "Event_ID = " & gblEventID & ""), 0) + 1
txtSubplotNum = lookupNum
End If
If xboPoaching.Value = False Then
txtPoachingNotes.Enabled = False
End If
End Sub
答案 1 :(得分:0)
据我所知,似乎如果您以编程方式更改控件中的值,则不会触发该控件的Before_Update事件,但是会容纳该控件的窗体的Before_Update事件。微软文档对此并不了解,但是在我的测试中似乎是一致的。