根据一条记录中相同字段的值自动更新其他记录中的字段

根据一条记录中相同字段的值自动更新其他记录中的字段

我想通过 VBA 将 Access 表单中字段的内容(值)传输到其上一个和下一个记录,同时仍在当前记录中。可以说我想将其复制到同一字段,但同时复制到其他记录中。

例如,数据库中某位工人有几条特定于他自己的不同记录。如果某条记录中的他的工作时间发生变化,则必须将存储在某个字段中的工作时间自动转移到其他记录中(或通过按钮和与之连接的宏或 VBA 手动转移)。

有没有办法做到这一点?

答案1

听起来你只需要对要传输数据的表强制实施引用完整性。你可以设置表之间的关系,强制实施引用完整性,然后选择在修改值时级联更新或删除相关表。这听起来就像你想要实现的目标,但听起来你的数据没有规范化,所以这种方法可能完全行不通。

如果您只是尝试将一条记录的值复制到表中的下一个或上一个记录,那么在 VBA 中这绝对可以非常简单地完成。您可以使用表单更新方法之一(OnUpdate、BeforeUpdate、AfterUpdate)在表单字段被修改时捕获这些更改(因此没有按钮)。然后,只需获取数据,获取当前记录的 ID,向前或向后迭代,并替换这些记录中的数据即可。

以下是 afterUpdate 方法的文档,供参考。 https://learn.microsoft.com/en-us/office/vba/api/access.form.afterupdate-event

相关内容