复制 MS Access 主表单记录,同时将父子链接保留在子表单中

Posted

技术标签:

【中文标题】复制 MS Access 主表单记录,同时将父子链接保留在子表单中【英文标题】:Duplicating MS Access main form record while keeping the parent-child link in the subform 【发布时间】:2014-02-06 21:03:11 【问题描述】:

我有一个月度报告输入表单(数据源:MonthlyReports 表),其中项目信息子表单(数据源:项目表)链接在 ProjectID 字段上。 ProjectID 是 Projects 表中的 PK 和 MonthlyReports 表中的 FK。

我正在尝试使用“复制记录”按钮复制主月度报告表单中的记录,编辑复制的记录并将其另存为同一项目的新记录/月度报告。我想在复制后将项目信息(或 ProjectID 链接)保留在新记录中。当我复制记录时,它会创建一个具有唯一编号的新月度报告记录,但它不保留 ProjectID 外键,因此会创建一个没有 ProjectID 外键的不相关记录。如何修改宏或在单击复制记录按钮时添加 VB 代码以保持父子字段链接?

谢谢。

【问题讨论】:

【参考方案1】:

简短的回答,如果我明白你在问什么,是不是。

当您在主表和子表之间建立关系时,它是一对(主记录)对多(子记录)的关系。一个孩子不能有多个父母。即使您尚未在数据库中定义此关系,当您通过字段将子表单链接到主表单时,(正确地)假定为一对多。

您需要做的是拥有宏,在创建新的主记录之后,创建一个新的子记录,然后将现有子记录的字段复制到新记录。最后,您需要将新子记录字段 [ProjectID] 的值设置为新创建的主记录的值。现在你有了完整的副本。

【讨论】:

以上是关于复制 MS Access 主表单记录,同时将父子链接保留在子表单中的主要内容,如果未能解决你的问题,请参考以下文章

MS Access 组合框使用两个主键设置记录

MS Access ADP 断开连接的记录集恢复

MS Access - 基于同一张表但不同记录的表单和子表单

MS Access 子表单的多个分离条件

MS Access 选项卡式表单多个 OnCurrent 触发

ms access 2010 中的主详细信息子表单