【问题标题】:MS Access sub-sub formsMS Access 子表单
【发布时间】:2011-10-24 21:03:46
【问题描述】:

我使用 MS Access 作为 MySQL 数据库的前端。在其中,我有几张表,都基于家庭和人的概念(分别为一对多)。从那里有几个连接表(例如种族和饮食限制),它们是多对多的。我希望能够从 MS Access 中的单个表单中编辑它。

到目前为止,我已将其设置为可以编辑家庭信息、查看/编辑与其关联的所有人员,并展开人员详细信息以查看与该人员关联的连接表中的 1 个(共 3 个)记录。我不知道如何让所有 3 个表都可见,有人知道该怎么做吗?

【问题讨论】:

  • 花时间创建表单和子表单几乎总是值得的,而不是依赖于您所展示的数据表。主表单将显示主表中的单个记录,其中包含由链接子和链接主字段相关的各种子表单,在单个或连续表单视图中,位于选项卡上,如果需要方便使用。
  • 除非我误解了 MS Access,否则我使用的是子表单。人(上面显示的表格)是家庭的子表格(由于家庭和人之间的一对多关系,它是一个家庭中的人的表格),种族/收入表格是个人表格的子表格,其中是家庭表单的一个子表单。
  • 您使用的是子数据表而不是子表单。我同意这不是很清楚。这是一个表单/子表单的图像allenbrowne.com/graphics/LibraryForm0.png

标签: ms-access ms-access-2007


【解决方案1】:

我会使用连续表单构建 3 个网格,或者在数据表视图中构建 3 个表单。

然后您创建一个 4 表格,并放入上述 3 个表格。

在主表单(现在是子表单)中,在当前事件中,您 放置以下命令使子表单遵循此表单。

me.Parent.Child1.Requery me.Parent.Child2.Requery。

在子 1 的链接子/主设置中,您放置:

linkChildFields main_id(无论在 此子表单用于关联回父表) LinkMasterFields [MasterForm].[form].[ID]

在您放置的子 2 表单的链接子/主设置中

linkChildFields main_id(无论在 此子表单用于关联回父表) LinkMasterFields [MasterForm].[form].[ID](“masterForm”是 你用来保存主窗体的控件)。

“多”对多屏幕如下所示:

以上是经典的会计或资金分配,我们取 50 美元左右的金额,然后将金额分配给多个帐户。

【讨论】:

    【解决方案2】:

    实际上,这听起来像是一个结构问题。将您的财产附属表(饮食限制、职业等)(一个人可能拥有的许多财产)建立在您的个人信息表上,也许与某种个人 ID(雇主经常使用 SSN,因为它们是独一无二的 - 尽管在您的情况下,您可能只是让它们自动生成)。种族和家庭中的职位等项目是个人拥有的,并且您确实可以将其放入您的个人信息表中。

    通过正确的结构和正确的查询工作 - 您可以拥有一个表单,允许您在保持参照完整性的同时编辑族的所有这些属性。

    【讨论】:

    • 在一个家庭中的位置实际上是当前个人的财产,为了理智,它只是链接到另一个表(多对一)。不幸的是,在这种情况下,个人实际上可以拥有多个种族(因为所涉及的纸质表格的标题是“检查所有适用的”),所以没有办法绕过这些多对多的关系。
    猜你喜欢
    • 2016-10-18
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-15
    • 1970-01-01
    相关资源
    最近更新 更多