当我在Form_Load中调用sub时,它给了我一个由Screen.ActiveForm引起的错误。这是由于表单尚未加载。
加载表单后,我可以使用什么子/函数来运行宏。
- 我试了Form_Timer,它什么也没做
- Form_Activate产生相同的错误
- Form_after...它们似乎并没有真正指示表单加载后的任何内容。
这是我Form_Timer的代码:
Private Sub Form_Timer()
call Module6.loadRecords
Me.TimerInterval = 500
End Sub
我希望在 0.5 秒后加载我的表单,并在表单控件中显示记录。
与其依赖于Screen.ActiveForm
,不如简单地将表单引用传递给函数。
Private Sub Form_Load()
Call Module6.loadRecords(Me)
End Sub
和
Public Sub loadRecords(F As Access.Form)
如果你真的想用Screen.ActiveForm
,它的工作原理是这样的:
Private Sub Form_Load()
' 1 ms is enough to de-couple the events
Me.TimerInterval = 1
End Sub
Private Sub Form_Timer()
' Reset timer, always the first thing to do for single Timer events
Me.TimerInterval = 0
Call Module6.loadRecords
End Sub