MS Access - 在表单中输入的数据在我关闭表单时自动保存

MS Access - Data Entered in a Form Automatically saves when i close the form

我的任务是更新 MS Access 数据库及其表单。 每个表单似乎都链接到一个查询。如果我在表单上的文本框中输入数据然后关闭表单而不按“保存记录”按钮,则新记录仍会添加到数据库中,这没有任何意义。

任何见解都会很棒,我是一名程序员,但在使用 Access Forms 和数据库方面经验不足。

谢谢。

默认情况下,Microsoft Access 将表单绑定到数据,一旦您在记录之间移动或关闭正在处理的表单,就会自动保存数据。对于普通用户来说,这实际上是一件好事,因为即使您在编辑后不小心关闭了表单,也很难丢失数据。

如果此功能不是您要找的,我建议从表单中删除绑定,即将记录源 属性 设置为空白,然后操作其中的所有数据使用未绑定控件的代码。它更繁琐,但它给了你更多的控制权。

另一种选择是使用表单的 BeforeUpdate 事件询问用户是否要在允许更改之前保存更改。

如果您主要担心意外添加新记录,请将允许添加 属性 设置为 false,然后以编程方式创建新记录。

BeforeUpdate 事件过程示例(相同代码适用于 BeforeInsert 事件):

Private Sub Form_BeforeUpdate(Cancel As Integer)

  Dim intAns As Integer

  intAns = MsgBox("Are you sure you want to save this record?", vbQuestion + vbYesNo, "Save Record")
  If intAns = vbNo Then Cancel = 1

End Sub

如果您使用上述方法,并且用户单击了 "No",他们将不得不单击 ESC 键以撤消他们输入的更改。否则当他们离开记录时它会继续显示对话。