【问题标题】:trigger an procedure from record selection of a subform从子表单的记录选择中触发过程
【发布时间】:2020-07-03 18:59:55
【问题描述】:

我有一个名为 MacroAttivitàSub 的子表单。它有一个工作表布局。子表单记录源是一个查询结果。在它的一侧,我有一个名为“text520”的文本框,当用户选择所需的记录行时,它必须显示子表单的“描述”字段的值。在表单属性选项卡中没有 OnClick 事件。请看图片链接。 form with no OnClick event 只有“进入”和“退出”。为什么?我在其主要形式后面尝试了这段代码,但没有成功:

Sub MacroAttivitàSub_OnClick()
    Text520.Value = Me!MacroAttivitàSub.Form!descrizione.Value
End Sub

我错过了什么?

【问题讨论】:

    标签: vba ms-access


    【解决方案1】:

    “表单”实际上确实有一个 On-Click 事件。

    但是,对于您正在尝试做的事情,我会在详细信息级别而不是表单级别添加点击事件。这样您就可以捕获您单击的特定记录:

    【讨论】:

    • 嗨 Anthony,我的子表单没有 OnClick 事件(请参阅我帖子中的图片)。你知道为什么吗?
    • 它确实......但是为了看到它......如果你打开子表单本身会更简单。你可能会认为它仍然是一个查询......它确实是。但是,当您将查询放入表单时,它实际上会创建另一个表单。从您的图像来看,在您的表单对象列表中查找名为“查询查询...”的表单。然后,当您单独打开此表单时,您应该会看到我在说什么。
    【解决方案2】:

    如果您想要每次表单加载新记录时触发的事件,请使用OnCurrent

    【讨论】:

      【解决方案3】:

      如果您想对子表单中的事件做出反应,您必须创建一个作为子表单插入的实际表单,而不是您当前拥有的查询。

      子表单控件(您已在屏幕截图中选择)只有 OnEnterOnExit 事件。这是设计使然。

      子窗体控件内的查询根本没有事件(与“常规”查询相同)。

      【讨论】:

      • 通过从显示所有表单的左侧菜单中拖动表单来放置图像中显示的子表单。有不同的方法吗?
      • @AlessioCazzaniga:重点是:您拖动的是查询,而不是表单。要使用事件,您必须根据查询创建一个新表单,可能使用 Default View = Datasheet。然后把这个新表单拖到主表单中。
      • 相信我,我拖了一个表格!我什至可以为您制作一个视频,向您展示 :) .. 无论如何,我拖动了一个表单并将查询设置为记录源。可能在将查询设置为表单的记录源时进行访问,它认为它是一个查询..
      • 您可能将查询设置为子表单控件的SourceObject,而不是表单的RecordSource。 @AlessioCazzaniga
      【解决方案4】:

      您不必为此编写代码。

      首先在主窗体上“create an unbound text box”,然后将属性窗口中数据选项卡中文本框的控件源属性更改为:

      [SubForm_Name].[Form]![Control_Name_in_SubForm_to_gather_data]
      

      【讨论】:

        猜你喜欢
        • 2014-03-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多