问题
我有一个复杂的搜索表单,我需要多次打开(同时)以允许用户同时执行多个搜索。我发现用于打开窗体的实例(因为它是一类)的能力:如何创建表单类的新实例,然后将其作为acDialog框打开(暂停其他代码)?
Option Compare Database
Option Explicit
'Array to hold Form Instances
Private MyFormCollection(1 To 4) As Form_frmTest
Private Sub cmd_CloneMe_Click()
Dim intCounter As Integer
For intCounter = 1 To 4
Set MyFormCollection(intCounter) = New Form_frmTest
MyFormCollection(intCounter).Caption = "Form #" & intCounter
MyFormCollection(intCounter).Visible = True
Next intCounter
Forms!frmTest.SetFocus
End Sub
这是打开而不是形式的多个实例的例子我会使用的最终代码因为我只需要每点击一次就打开一次,但可能会有其他已经打开!
但我不能找出一种方法来重复其中一个acDialog(所以调用函数暂停,直到你隐藏或关闭新的对话框形式)。下面是我通常会打开一个正常形态的方式(不是副本):
Call DoCmd.OpenForm("SomeForm", acNormal, , , , acDialog)
问题
我怎样才能打开窗体的一个新实例作为对话框(因此调用函数暂停,直到新窗体关闭或隐藏)?
感谢
您是否尝试将窗体的模态属性设置为true? – Fionnuala
但是,只是停止用户点击任何其他形式,它不会停止调用代码运行,直到新窗体关闭/隐藏像对话框一样。 :( – GazB