在另一个模块MS Access VBA中引用子窗体的子窗体控件

时间:2016-10-13 19:42:23

标签: vba ms-access

尝试在VBA中引用子窗体的子窗体控件。我有一个主窗体,通过按钮,打开一个子窗体。在该子表单中有几个按钮可以打开另一个子表单。基本上是带按钮的俄罗斯娃娃场景。

最终目标是调用一个函数,子子表被用作名为GetFile的函数中的变量。现在的解决方法是我在每个子子窗体的VBA中有不同版本的GetFile函数。

这是子子窗体的按钮点击代码:

Private Sub cmdButton_Click()
     Dim strForm As String

     strForm = Me.Name
     Call GetFile(strForm)
End Sub

然后调用此模块:

Function GetFile(strForm As String)

     Forms!frmMainMenu!subFrm.Form!subFrm!chkImport.Visible = True

End Function

目前,我收到此错误:运行时错误'2465'。

1 个答案:

答案 0 :(得分:1)

Refer to Form and Subform properties and controls

这是你的情况:

Forms!Mainform!Subform1.Form!Subform2.Form!ControlName.Enabled

所以你可能想要

Forms!frmMainMenu!subFrm.Form!subFrm.Form!chkImport.Visible = True

虽然您的问题有点令人困惑(“打开子表单”?子表单嵌入在父表单中)。

将表单对象而不是名称作为参数传递可能更容易:

Call GetFile(Me)

那么表单在层次结构中的位置并不重要,只需直接使用它:

Function GetFile(myForm As Form)

     myForm!chkImport.Visible = True

End Function