【问题标题】:More info form to show relationships?显示关系的更多信息表?
【发布时间】:2013-11-27 05:28:33
【问题描述】:

我有一个带有文本框的表单,这些文本框连接到连接到表格的查询;它与另一个表有关系,而另一个表又与另一个表有关系。

这就是关系的样子: 客户>客户>工单

可以只有1个客户,但是很多客户,可以有很多工单。

如何设置此表单/查询以显示工单的客户和客户信息?请注意,要打开此更多信息表单,您需要从子表单表中选择工作订单,然后单击按钮。这将启动带有所有信息的表单,旧的仍然在后台,因为它使用文本框来检测选择了哪个 id(文本框的名称是 txtWorkOrderID)

弹出的表单具有单击按钮时进行的查询的记录源,该查询仅包含来自该工作订单的所有数据;虽然我不确定如何在其中包含客户 + 客户名称。我该怎么做?

【问题讨论】:

  • 更改作为弹出表单记录源的查询以包括客户和客户表,并从这些表中添加您需要的字段。
  • 一个表单可以有多个记录源?
  • 目前我已经为弹出表单设置了一个记录源,它是按钮对您选择的 1 条记录的查询。如果它只是在记录源中,它如何判断我选择从哪个记录获取数据?

标签: sql ms-access vba


【解决方案1】:

大概每个工单只关联一个客户,每个客户只分配给一个客户?即,工单 #22125 仅用于为名为 Maggie's Farm 的客户完成的工作,而 Maggie's Farm 仅由 Bob Dylan 监督?

如果是这样,只需按照在“关系”表单中加入表的方式加入表,然后从各自的表中提取客户名称和客户名称。如果您获得任何笛卡尔连接(产生多个重复记录的连接),您可能需要使用 Group By 查询或 Select Distinct 查询。您的表单将基于此查询,而不是单个表。

当您编辑工作订单中的数据时,您永远不应该编辑客户或客户中的数据,数据不会朝那个方向流动。如果您需要编辑数据,我将创建上述查询并使用 DLookup 查找与给定工作订单关联的客户和客户名称。在 Enabled = False 的表单上放置几个文本框,并将它们的记录源设置为

=DLookup("CustomerName", "MyQuery", "WorkOrder = '" & Me.WorkOrder & "'"

然后把工单表作为表单的记录源。

【讨论】:

    猜你喜欢
    • 2021-06-14
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 2012-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多