Ms access 调用第二个表单';从VBA中的第一个窗体创建子窗体

Ms access 调用第二个表单';从VBA中的第一个窗体创建子窗体,ms-access,vba,Ms Access,Vba,我试图从第一个表单调用第二个表单的子表单,但我不确定这是否可行?我的代码如下: '2 get the corresponding section sectionInfo = GetSectionInfo(optPermit, arr) source = sectionInfo(0) heightNum = sectionInfo(1) topNum = sectionInfo(2)

我试图从第一个表单调用第二个表单的子表单,但我不确定这是否可行?我的代码如下:

            '2 get the corresponding section
        sectionInfo = GetSectionInfo(optPermit, arr)
            source = sectionInfo(0)
            heightNum = sectionInfo(1)
            topNum = sectionInfo(2)

            rootControl = "subfrmSection" + arr
            With Forms!frmSecondForm!rootControl.Form
                .SourceObject = "subfrmSection" + sectionInfo(0)
                .Top = currentLocation + sectionInfo(1) 'currentLocation + height of object
                .Left = leftNum
                .Height = cmdInfo(2)
                .Width = widthNum
            End With
我试图在单击按钮时编辑第二个表单的子表单,但我不断收到错误2450,指出它找不到此特定子表单。在这种情况下调用子窗体是否有不同的语法

如蒙协助,将不胜感激。谢谢大家!

编辑: 多亏了翼龙的帮助,最终的代码现在看起来是这样的(对于许多需要它的人):


那是
notation正在查找一个名为
rootControl
的控件,而不是一个名称位于变量rootControl中的控件

尝试:
使用表单!frmSecondForm.Controls(rootControl.Form)

我不知道您是否对
frmSecondForm
有同样的问题。如果这是一个变量而不是文字名称,请尝试:
带有表单(frmSecondForm).Controls(rootControl).Form

frmSecondForm
在本例中本质上是文字名称,而不是变量。我尝试了你的建议,将
rootControl
括在括号中,但还是出现了同样的错误。这可能是一个愚蠢的问题,但我还是要问:是否应该
frmSecondForm
Form\u frmSecondForm
?当您按F11并查看表单部分时,使用导航器窗格中列出的内容。没有额外的字符。(我假设第二个表单在代码运行时已经打开)。如果没有,请说明。正是这样!非常感谢。
'2 get the corresponding section
        sectionInfo = GetSectionInfo(optPermit, arr)
        rootControl = "subfrmSection" + arr
        Form_frmSecondForm.Controls(rootControl).SourceObject = "subfrmSection" + sectionInfo(0)
        Form_frmSecondForm.Controls(rootControl).Top = currentLocation + sectionInfo(1) 'currentLocation + height of object
        Form_frmSecondForm.Controls(rootControl).Left = leftNum
        Form_frmSecondForm.Controls(rootControl).Height = sectionInfo(1)
        Form_frmSecondForm.Controls(rootControl).Width = widthNum