尝试在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'。
答案 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