Forms 从另一个窗体调用子窗体例程
我有一个表单X,其中包含一个子表单Y。在Y表单中定义了一个例程。我需要从另一个窗体Z调用该例程(每当用户单击子窗体Y上的某个按钮时,该窗体就会打开),以关闭此窗体Z的事件。窗体X是打开的。到目前为止,我所尝试的都不起作用: //表格ZForms 从另一个窗体调用子窗体例程,forms,ms-access,vba,ms-access-2007,Forms,Ms Access,Vba,Ms Access 2007,我有一个表单X,其中包含一个子表单Y。在Y表单中定义了一个例程。我需要从另一个窗体Z调用该例程(每当用户单击子窗体Y上的某个按钮时,该窗体就会打开),以关闭此窗体Z的事件。窗体X是打开的。到目前为止,我所尝试的都不起作用: //表格Z Call Forms("X").SomeRoutine Call Forms("Y").SomeRoutine 但是每次我收到运行时错误2450,Access都找不到表单。这是表单!X!Y.Form.SomeRoutine-您必须显式处理表单我的X表单包含一个名
Call Forms("X").SomeRoutine
Call Forms("Y").SomeRoutine
但是每次我收到运行时错误2450,Access都找不到表单。这是
表单!X!Y.Form.SomeRoutine
-您必须显式处理表单我的X表单包含一个名为Child1的子表单控件。Y是作为子窗体包含在Child1中的窗体
表格Y包括以下公共VBA程序:
Public子例程()
Debug.Print“this someroutin in form”&Me.Name
端接头
当父窗体(X)在窗体视图中打开时,我可以转到即时窗口(Ctrl+g)并调用如下例程
表单!X!孩子1.形成某种习惯
这是表格Y中的一些常规
关键的一点是,我使用了包含Y子窗体的子窗体控件的名称。(注意字母Y
甚至不存在于Forms!X!Child1.Form.SomeRoutine
)
子窗体控件名称可能与其包含的窗体名称相同。。。但它不一定是相同的。请检查您的控件,以确保您使用了控件的名称。您不能直接将其命名为好友吗?像这样
Friend Sub cmd_Click()
'code
End Sub
Private Sub Form_Open(Cancel As Integer)
Me.cmd_Click
End Sub
请参阅子窗体确保子窗体/函数不是私有的。确保窗体子窗体是公共的(Public SomeRoutine()…);然后使用Call MyForm.SomeRoutine从表单外部调用它。yes子/函数仅为公共函数。Call Forms!X!例行公事谢谢。。我试过了,但不起作用…:(