访问子表单,选择下一条记录时停止自动保存到链接表

Posted

技术标签:

【中文标题】访问子表单,选择下一条记录时停止自动保存到链接表【英文标题】:Access Subform, Stop automatic save to linked table when selecting next record 【发布时间】:2016-08-26 00:04:53 【问题描述】:

我在访问权限内有一个主窗体和一个子窗体,分别链接到表和查询。子窗体根据主窗体中的当前记录缩小结果列表,因为它由主字段和子字段链接。我的问题是我希望用户只编辑子表单中的数据,然后当他们对所有编辑的记录感到满意时按下保存按钮。目前,当切换到子表单中的下一条记录时,它会自动保存到与其相关的表中。这并不理想,因为我希望用户能够恢复到以前的数据,或者如果他们对更改不满意,则不保存。

https://drive.google.com/file/d/0B5BV2rpgshPJSG1jS0lzUVNnWlU/view?usp=sharing

【问题讨论】:

不幸的是,这是 MS Access 表单的默认功能。另一种方法是使用未绑定的表单,从一个记录集中填充表单字段,然后在保存按钮更新表上。一个繁琐的过程,有相当多的 VBA 代码。 【参考方案1】:

正如 Parfait 所写,这就是绑定表单的工作方式。移动到不同的记录会保存已编辑的记录,没有例外。

对于连续的子表单(= 显示多条记录),您不能将其解除绑定 - 根据定义,未绑定的表单是单个表单。

您唯一的选择是将记录复制到与原始表具有相同结构的本地临时表,并将子表单绑定到临时表。然后保存更改意味着将临时数据复制回原始表(但要注意其他用户的编辑冲突!),丢弃更改只是清除临时表。

或者更好:向您的用户解释它是如何工作的,他们会习惯的。

【讨论】:

以上是关于访问子表单,选择下一条记录时停止自动保存到链接表的主要内容,如果未能解决你的问题,请参考以下文章

如何将自动填充的表单记录(从另一条记录创建)添加到访问表中?

访问:当我输入新记录时,更改不会出现在我的子表单中

使用组合框切换记录时访问显示第一条记录

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

按 Enter 时防止移动到下一条记录?

如何锁定访问子表单中的记录