如何在 Access 中添加具有其他多数据(1 到多)关系的记录

Posted

技术标签:

【中文标题】如何在 Access 中添加具有其他多数据(1 到多)关系的记录【英文标题】:How to add a record with other multiple data ( 1 to Many ) relationship in Access 【发布时间】:2020-06-04 15:35:49 【问题描述】:

所以基本上我有一个 FactoryMachine 表和 Generators 表。它们以 1 对多的关系链接。 FactoryMachines 有一个 PK 的 Generators 。 如何为同一台工厂机器制作一个可以使用多个生成器的表单? 我想要以下内容:

一个名为 添加FactoryMachinesForm That has a ComboBox with the existing Generators and whenever a generator is selected anther Combobox Pops to allow the selection of anther generator and so on .

我正在使用 MS-Access 2016

【问题讨论】:

如果每个工厂可以有多个生成器,但每个生成器只能关联一台机器,则将 MachineID 保存到生成器表中。如果每台机器可以有多个生成器,并且每个生成器可以关联多台机器,那就是多对多关系,需要第三个“联结”表。 我已经这样做了,但我的问题是如何制作一个表单,让我可以使用多个 Comboxes 之类的东西向工厂机器添加多个生成器 FactoryMachines 是否是工厂中所有机器的表 - 每条记录对于单台机器都是唯一的?每台机器可以有多个发电机?每个生成器只能与一台机器关联?你说FactoryMachines 有发电机领域——我说那是倒退的。您对“多个组合框”的描述毫无意义。 先抱歉暂时没有回复, 【参考方案1】:

你可以设计一个这样的表格:

将每个 FactoryMachine 保存为组合框项 和每个生成器作为一个复选框 数据库将是这样的:

您可以编辑此设计以满足您的需求

【讨论】:

这不是规范化的数据结构。它可能是可行的,也可能是一种皇家痛苦。

以上是关于如何在 Access 中添加具有其他多数据(1 到多)关系的记录的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Access 2003 中删除具有唯一 ID 的重复条目?

如何对access中两个数据库中表进行联合查询

如何取消Access 用户和组权限

access建立查询时,啥情况下两表之间要建立关系

MS Access 主键自动编号变得混乱

如何在不复制目标 NSManagedObject 的情况下将目标 NSManagedObject 添加到另一个具有反向多对多核心数据关系的对象?