介绍
首先要了解的
Sub-Form就是将一个表单添加到另一个表单上需要特殊的Subform控件。 此Subform控件充当您要用作主表单的Sub-Form的表单的容器。 也就是说,如果你想FRMB作为frmA的一个子表单 ,那么你会创建frmA 子控件(在这个例子中,我们把它叫做SFMB)。 窗体 ■找其中包含(这种情况下FRMB)到形式所需的基准的.FORM属性。 在谈论Sub-Form时,非常重要的一点是要认识到实际的Subform是对包含Sub-Form的主窗体的控件。 它本身不是子表单 。 在本文中,我们将Subform表示为控件,将Sub-Form表示为该控件上的窗体。注意 引用表单上的项目时,非常普遍的混淆是由以下假设引起的:
参考中包含使用的选项卡控件。 事实并非如此。 一个项目(包括但不限于Subform )直接显示在主窗体本身还是Tab控件上根本不会影响引用地址。的
内部语法(在表单模块本身或其子Form之一中运行的代码)是:Me.[SubformName].Form.[ControlName]
为此的外部语法(从表单模块本身或其子表单之一外部运行的代码)是:
Forms![FormName].[SubformName].Form.[ControlName]
Forms("FormName").[SubformName].Form.[ControlName]
Form_FormName.[SubformName].Form.[ControlName]
虽然理论上子窗体的.FORM对象应该被列入参考,有可用的简写版本,叶子这一关(这是一个为子窗体的dafault财产和假设),那么上述所有版本都可以简化为:
Me.[SubformName]![ControlName]
Forms![FormName].[SubformName]![ControlName]
Forms("FormName").[SubformName]![ControlName]
Form_FormName.[SubformName]![ControlName]
哪里:
- FormName是主窗体的名称。
- SubformName是包含实际子 窗体的主窗体上的子窗体控件的名称。
- ControlName是您要引用的控件的名称。
您会经常看到
感叹号 (或Bang )(!)代替了点 (。),反之亦然。 在大多数情况下,这不是问题,因为Access会以正确的方式对其进行解释。 不过,通常,点(。)用来表示对象的预定义属性,而感叹号(!)用作表示集合中命名项的简写。 例如,窗体上的控件是窗体的Controls集合的成员。 Recordset中的字段实际上是Recordset的Fields集合的成员。 但是,重要的是要理解,数据库中的每种形式本身都是特定的类。 例如。 Form_frmA是已定义的类,尽管Form类本身不包含任何控件作为特定属性,但Form_frmA可能会做。 因此,使用点(。)语法(EG, frmA.txtBlah )引用表单上的控件是完全可以接受和正确的。的
Me对象可在Form或Report中使用,以引用关联的Form或Report对象本身。例如。 在表单模块中,其名称为
frmTest , Me.txtJobNumber等效于Form_frmTest.txtJobNumber 。的
父对象实际上是对该模块作为其子对象的引用。 因此,来自用作子表单的表单模块的Me.Parent将引用伙伴关系中的主要表单。 可以与Subform引用一起使用以访问同级表单。 例如。 如果[Form A]有两个Subform控件[sForm B]和[sForm C],则从[sForm B]引用[sForm C]上的[sForm C]控件[ControlD]将作为Me.Parent。[sForm C]完成!受控实例参考
子形式的,其中表称作frmFieldServiceDatabase和窗体 txtJobNumber控制称为[qryReviewJobs子窗体 ](NB。括号[]只有必要的,如果,没有它们,该引用可以具有不同的含义。在这些实施例[txtJobNumber]可以互换使用它们,但是对于[ qryReviewJobs子窗体 ]它们是必需的,没有它们,引用将失败。):Me.[qryReviewJobs Subform]![txtJobNumber]
Me.[qryReviewJobs Subform].Form.txtJobNumber
Forms![frmFieldServiceDatabase].[qryReviewJobs Subform]![txtJobNumber]
Forms("frmFieldServiceDatabase").[qryReviewJobs Subform]![txtJobNumber]
Form_frmFieldServiceDatabase.[qryReviewJobs Subform]![txtJobNumber]
From: https://bytes.com/topic/access/insights/599404-referring-items-sub-form