在子窗体上调用控件

Calling a Control on a subform

我正在寻找一种方法来访问子表单上的控件,目前我尝试过的所有方法都给我一个 "cannot find" 错误。

my main form "frm_View" contains the subform "subform_View2"

subform_View2 contains a tab container

the tab container contains yet another subform "subform_View3" on the first tab

Separate form "frmAnswers"

我需要访问 subform_View3 上的控件,以便插入从 frmAnswers 获得的信息。

我试过:

me.subform_view3!frm_View!control1
me.subform_view3!subform_view2!subform_View3!control1

问题是您必须将选项卡控件视为一种特殊的容器,每个页面的行为类似于另一个子表单。

我创建了一个例子,见下图。

主窗体包含一个 TabControl(名为 tabControl),第一页包含一个子窗体(称为 SubForm),其中包含一个文本框 (txb)。

要获取文本框的值,您需要像这样通过选项卡控件:

Me.tabControl.Pages(0).Controls("SubForm")!txb.Value

Me.tabControl.Pages("Page1").Controls("SubForm")!txb.Value

Me.tabControl.Pages("Page1").Controls("SubForm").Controls("txb").Value

请注意,子窗体是页面 ​​"Controls" 集合的一部分,因此您需要首先识别选项卡控件,然后是页面(按名称或从零开始的索引),然后子表单本身以访问它的控件。

编辑

如果你想从独立于表单的代码中调用它,你可以像这样定位表单

Forms!MainForm!tabControl.Pages("Page1").Controls("SubForm")!txb.Value