在access绑定记录源的窗体中, 当在窗体输入数据时,Access会自动保存记录。如果无法保存记录,则会显示一条错误消息
如图所示,回提示你“现在不能保存该记录”。关闭后,数据没有保存成功
![f7fe61769daa343c24f1bfc1fb05731a.png](https://i-blog.csdnimg.cn/blog_migrate/90f69a529449851362eaa4f0872e2955.jpeg)
![bc0bffeffdba5db155db4bc2d170c474.png](https://i-blog.csdnimg.cn/blog_migrate/a638fab6ccd7d374fe63a13f18e99228.jpeg)
无法保存记录的原因有很多:
- 必填字段没有填写,为空白;
- 该记录将在唯一索引中创建重复项;
- 窗体的更新前事件已取消;
- 未满足验证规则。
解决方法:
在使用CLOSE之前,先先明确是否保存记录:
If Me.Dirty Then Me.Dirty = FalseEnd IfDoCmd.Close acForm, Me.Name
要强制保存记录,可以使用如下代码:
#1. RunCommand acCmdSaveRecord#2. DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70#3. Me.Refresh#4. Me.Dirty = False