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