Access 使用子表单一次添加多个记录

Posted

技术标签:

【中文标题】Access 使用子表单一次添加多个记录【英文标题】:Access add more than one record at a time using subform 【发布时间】:2020-01-07 16:15:28 【问题描述】:

您好,我需要一些帮助。所附图像是我正在处理的表格。我让它一直工作,直到我可以保存该记录并返回我的查询训练记录所在的位置并在那里查看它。保存按钮不会清除表单中的任何信息,但如果我将 345 的 id 更改为 346,它不会换行。它只是重写了记录中的 345。但是,我完全打算做的是一次存储多条记录,并且子表单是您可以在点击保存后查看要添加的内容的地方。这是我的第一个大项目,所以用菜鸟的话来说。谢谢!

【问题讨论】:

显示代码!回去查询??不要显示查询,使用绑定到它们的表单!查询包含要添加的多条记录(将数据显示为text-table)? ID是自动编号吗?应该只读而不可见! 在 NewRecord 行输入新数据。记录在以下情况下提交到表:1)关闭表/查询/表单; 2) 移动到另一个记录; 3)运行代码保存。 ID 是子表单中的自动编号 - 您无法更改此编号。为什么主窗体显示与子窗体相同的 ID 号?这是一个设计问题,而不是编程问题,因此不适合 SO。 您是否尝试模拟拆分表单设计? 只需添加command button 即可添加新记录。然后点击该命令按钮转到新记录,这将清除以前的保存数据。意味着将转到新的空记录。 【参考方案1】:

我想我理解您想要做什么,我将使用一个客户的多个订单示例来解释如何使用子表单向同一个人添加多个订单。

首先,您想要拥有 Customer_ID,然后是 Product_ID。在 Product_ID 表中,确保您有一个名为“Customer_ID”的字段,它将充当引用 Customer 表中 Customer_ID 字段的外键。当您将子表单添加到客户表单时,您将“主字段”和“子字段”设置为“客户 ID”。这将允许子表单引用 Customer_ID 字段并维护关系,并且每次您向子表单添加记录时都会生成一个唯一的 Product_ID(不是 Customer_ID)。

选择子表单并转到“属性表>数据”并仔细检查主字段和子字段中的链接。

【讨论】:

我想你知道我想要做什么。我把这搞砸了,但我有点困惑……我想我可能只是把关系和主/子领域混在一起了。这是我目前的表结构: @aquadratic Employee Table - emp_id (pk);标准清单表 - st_no_id (pk);和一个关联员工记录表 - tr_no (pk)、st_no_id (fk)、emp_id (fk)。 tr_no 是培训记录编号,它是一个自动编号,使每个员工记录都是唯一的。希望这是有道理的 员工表和标准表之间的关系类型是什么?一对多? 这种关系是多对多的,所以我在中间有一个关联表,允许它是一对多的。中间表是员工记录,其中我有 emp_id (FK) 和 st_no_id (FK) 和 table_record_no 作为主键【参考方案2】:

简单的一对多员工-任务关系

与子表单的关系应该是怎样的

主窗体和子窗体应该是什么样子。您可以根据已建立的关系对标准列表执行类似操作。

【讨论】:

以上是关于Access 使用子表单一次添加多个记录的主要内容,如果未能解决你的问题,请参考以下文章

通过弹出子表单 (2) 添加新子表单 (1) 记录后重新查询子表单 (1) - Access 2007

将数据从单一表单 Access 数据库添加到多个表

使用组合框过滤子表单 - ACCESS 2013

Microsoft Access 2013 - 无法通过子表单添加新记录

如何在Access中使用子表单时编辑现有记录而不创建新记录?

MS Access 表单以更新多个表而无需子表单