【发布时间】:2020-07-13 21:30:45
【问题描述】:
我有一个表单“Form1”,当单击 Form1 中的“Command1”按钮时,它会打开另一个表单“Form2”。如下代码所示,控制权传递给 Form2,一旦用户对 Form2 进行一些操作,Form2 要么隐藏,要么关闭自身,然后将控制权返回给 Form1。无论 Form2 是隐藏还是关闭,Form1 都会做一些事情并关闭 Form2。
Private Sub Command1_Click()
DoCmd.OpenForm "Form2", , , , , acDialog
If CurrentProject.AllForms("Form2").IsLoaded Then
'Do stuff
End If
DoCmd.Close acDialog, "Form2"
End Sub
这似乎在第一次打开 Form1 时工作正常。但是,当我关闭并重新打开 Form1,然后重复上述步骤时,Form2 不会出现,并且控制直接传递到上面子例程中的 If 语句。怎么了?一个线索是第一次打开 Form2 后 CurrentProject.AllForms("Form2").IsLoaded 似乎永久设置为 True。
发生了什么事?我怎样才能解决这个问题?感谢您的帮助。
【问题讨论】:
标签: ms-access vba ms-access-2010