Joh*_*ohn 4 forms ms-access ms-access-2007 access-vba
我是Access VBA的新手,并使用表单向导创建表单,该表单在表中显示记录.那是小菜一碟.
但是,我从表单中获得的行为是,当我移动记录时,记录的更新会自动发生.
我想要的是只有当我点击我放在表单中的"更新"按钮时才会发生更新.
看起来我可以从头开始构建表单,以编程方式更新所有(无界)控件,然后以编程方式从控件更新记录,但这似乎太多了.
有没有办法从Access中"关闭"自动更新行为,或使用VBA代码?
谢谢!
正如Robert建议的那样,您可以通过取消更新前事件来避免保存更改的记录.代码看起来像这样:
Private Sub Form_BeforeUpdate(Cancel As Integer)
Me.Undo
Cancel = True
End Sub
Run Code Online (Sandbox Code Playgroud)
但是,该方法要求您放弃对记录所做的任何更改,然后才能将其移除.如果没有Me.Undo
,您可以取消更新,但Access不允许您移动到其他记录.您必须先保存或放弃对当前记录的更改,然后再转移到另一个记录.
如果您想要移动到另一条记录但不首先丢弃更改,我认为您需要尝试断开连接的记录集.它是您在内存中创建的ADO记录集,不受任何数据源的约束.您可以添加命令按钮以保存对命令的更改.如果听起来有用,请参阅Danny Lesandrini在Database Journal:Create In-Memory ADO Recordsets中的这篇文章
归档时间: |
|
查看次数: |
15457 次 |
最近记录: |