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 键以撤消他们输入的更改。否则当他们离开记录时它会继续显示对话。
我的任务是更新 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 键以撤消他们输入的更改。否则当他们离开记录时它会继续显示对话。