【问题标题】:SubForm Reversed子表单反转
【发布时间】:2012-08-20 09:29:12
【问题描述】:

这个问题是我之前的一个问题的延伸,我已经解决了这个问题。详情请见here

我对子表单有疑问。我有两个表,TableA 和 TableB,从 A 到 B 具有一对多(父对子)关系。现在我知道 Microsoft 设计了子表单,以便用户可以查看/交互上表上的信息关系的许多/孩子方面。我的问题是,这可以逆转吗?也就是说,我可以有关系的一方/父方信息的子表单吗?

在更广泛的背景下(请参阅上面的链接),我正在尝试使用子表单,因为组合框的功能有限。假设 Column Count 属性设置为大于 1 的值,组合框将允许通过其 Row Source 属性查看多个列。但是,组合框的文本输入部分将只允许一个条目。如果需要将新记录添加到基础表中,我需要能够输入多个字段值。

如果有一种完全不同的方式来完成此任务而不涉及子表单,那很好。我也在考虑将级联组合框作为一种可能的解决方案。

提前致谢。

【问题讨论】:

    标签: ms-access ms-access-2010 subform subforms


    【解决方案1】:

    是的,你可以。您可以拥有一个包含两个子表单的表单。在 2000 / 2003 Northwind 示例数据库中有一个示例,其中选择子表单 1 中的记录会显示子表单 2 中选择的子记录。相关表单是客户订单表单。

    它的工作方式是设置链接子文件和主文件,并在第一个子表单的当前事件中包含重新查询:

    Me.Parent![Customer Orders Subform2].Requery
    

    【讨论】:

    • MS Access 2010 似乎没有该表单。这看起来更像是级联子表单,由于我在嵌套子表单中遇到的其他问题,这本身就很有趣。但是,它似乎并没有打破将子表单放在底层关系的多/子端的惯例。当然我可能是错的。 “客户订单”、“客户订单子表单1”和“客户订单子表单2”表之间的关系是什么?
    • 不,2010 Northwind 中没有包含示例表单,因此提到了 2000 / 2003。在示例中,客户订单父表单包含客户,但没有理由不应该包含一个未绑定的表单,仅用作两个子表单的容器。对我来说,您的要求表明您需要具有相关子记录集的连续形式的父数据。在示例中,第二个子表单可以是单个表单或连续表单,这似乎符合您的要求。在某种程度上,它是一个级联子表单,但您的要求是什么?
    • 我有三个表:A、B 和 C。A 是 B 的子表,B 是 C 的子表。我的表单需要循环 A 上的记录,B 上的子表单和 C 上的嵌套/级联子表单。换句话说,由于数据的性质,我的表上的父子关系是相反的。因此,问题。感谢您的帮助。
    • 恐怕我错过了困难所在。只要一个表有一个字段作为链接子字段和主字段的基础,哪个在子表单中和哪个在主表单中都没有关系。一些样本数据可能会让我更容易理解问题或有人提出解决方案。
    • 在此站点 (functionx.com/access/Lesson37.htm) 上声明:子表单(或子报表)是您放置在另一个表单(或另一个报表)内的表单(或报表)。为了将一个表单(或报表)“包含”到另一个表单(或报表)中,两个对象必须具有关系。承载其他表单(或其他报表)的表单(或报表)是父表单。添加到父级的表单(或报表)称为子表单(或子报表)。父对象必须有一个主键来“链接”或关联到子对象中的外键。
    猜你喜欢
    • 1970-01-01
    • 2021-10-02
    • 2016-09-29
    • 1970-01-01
    • 2018-10-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多