如何在窗体的OPEN事件期间检查CURRENT事件是否不存在

时间:2009-06-03 14:16:59

标签: events ms-access vba

我有一个事件程序,当用户选择某个记录时会运行该程序。

如果我把它放在ON CURRENT事件中,它就可以了。

但是,打开表单时我不需要它运行。也就是说,当打开表单并将记录加载到表单上时,我的事件过程将被调用 已加载的记录。它减慢了我的程序,因为这是不必要的。

我的问题是,如何在“加载”记录期间检查事件是否未运行。

类似的东西:

on_current_event do:

if event is not during on_load then
do this
end if

end proc

3 个答案:

答案 0 :(得分:3)

为什么不声明表单级布尔变量并在表单加载完成后将其设置为true?

在OnCurrent活动中,您可以执行以下操作:

If Variable then
  Do Stuff
Else
  Don't do stuff
End If

这可能无法解决根本问题......

答案 1 :(得分:2)

在表单的代码中:

Private isLoading As Boolean

Private Sub Form_Open(Cancel as Boolean)
    isLoading = True
End Sub

Private Sub Form_Current()
    If isLoading Then 
        isLoading = False
        Exit Sub
    End If
End Sub

这样,当表单打开时,OnCurrent事件的第一次出现将被绕过。

话虽如此,我认为这不是你真正的潜在问题,但如果你想让其他人尝试提供帮助,你需要提供更多信息(打开另一个问题)。

答案 2 :(得分:0)

您已经很好地回答了自己的问题 - 为什么不使用ON LOAD事件?