引用子表单上的项目

在Access中引用子窗体上的控件时,关键在于区分主窗体、子窗体控件名称和控件本身的名字。FormName是主窗体名,SubformName是子窗体控件在主窗体上的名称,ControlName是目标控件的名称。常见错误是混淆这些概念。示例代码展示了如何正确引用。
摘要由CSDN通过智能技术生成

介绍

首先要了解的

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]
哪里:
  1. FormName是主窗体的名称。
  2. SubformName是包含实际 窗体的主窗体上的子窗体控件的名称。
  3. ControlName是您要引用的控件的名称。

您会经常看到

感叹号 (或Bang )(!)代替了 (。),反之亦然。 在大多数情况下,这不是问题,因为Access会以正确的方式对其进行解释。 不过,通常,点(。)用来表示对象的预定义属性,而感叹号(!)用作表示集合中命名项的简写。 例如,窗体上的控件是窗体的Controls集合的成员。 Recordset中的字段实际上是Recordset的Fields集合的成员。 但是,重要的是要理解,数据库中的每种形式本身都是特定的类。 例如。 Form_frmA是已定义的类,尽管Form类本身不包含任何控件作为特定属性,但Form_frmA可能会做。 因此,使用点(。)语法(EG, frmA.txtBlah )引用表单上的控件是完全可以接受和正确的。

Me对象可在Form或Report中使用,以引用关联的Form或Report对象本身。

例如。 在表单模块中,其名称为

frmTestMe.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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值