gpt4 book ai didi

ms-access - 有没有办法覆盖使用表单向导创建的 Access 2007 表单的自动记录更新?

转载 作者:行者123 更新时间:2023-12-04 22:37:25 24 4
gpt4 key购买 nike

我是 Access VBA 的新手,并且使用表单向导创建了一个表单,该表单在表中显示记录。那是小菜一碟。

但是,我在表单中得到的行为是,当我移动记录时,记录的更新会自动发生。

我想要的是只有当我单击我放入表单的“更新”按钮时才会发生更新。

似乎我可以从头开始构建表单,以编程方式更新所有(无界)控件,然后以编程方式从控件更新记录,但这似乎工作量太大。

有没有办法从 Access 中“关闭”自动更新行为,或者使用 VBA 代码?

谢谢!

最佳答案

正如罗伯特建议的那样,您可以通过取消更新前事件来避免保存更改的记录。代码看起来像这样:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.Undo
Cancel = True
End Sub

但是,这种方法要求您放弃对记录所做的任何更改,然后才能将其移出。没有 Me.Undo ,您可以取消更新,但 Access 不允许您移动到其他记录。在移动到另一个记录之前,您必须保存或放弃对当前记录的更改。

如果您想移动到另一条记录但不首先放弃更改,我认为您需要尝试断开连接的记录集。它是您在内存中创建的 ADO 记录集,不绑定(bind)到任何数据源。您可以添加一个命令按钮来保存您对命令所做的更改。如果听起来有用,请参阅 Danny Lesandrini 在 Database Journal 上的这篇文章: Create In-Memory ADO Recordsets

关于ms-access - 有没有办法覆盖使用表单向导创建的 Access 2007 表单的自动记录更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3662181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com