acCmdSaveRecord 不保存记录

acCmdSaveRecord does not save record

我有一个 MS Access 2010 应用程序。可以在表格中输入新记录。因此我在表单加载时转到新记录:

Private Sub Form_Load()    
    DoCmd.GoToRecord Record:=acNewRec
End Sub

输入信息后,点击保存按钮,记录将被保存,表格将进入新的记录。

Private Sub btnSave_Click()
    DoCmd.RunCommand acCmdSaveRecord
    DoCmd.GoToRecord , , acNewRec
End Sub

代码被执行,但是没有创建新记录。输入控件链接到 table 字段。

我会确保表单仅在如下所示变脏时才尝试保存。 我添加了一个错误处理程序来通知用户无法保存表单。

option explicit
private sub btnSave_Click()
on Error goto ErrTrap
if me.dirty= true then
     DoCmd.RunCommand acCmdSaveRecord
     DoCmd.GoToRecord , , acNewRec
end if

ErrTrap:
   MsgBox Err.Number & ": " & Err.Description
end sub

有一个解决方法可以避免 docmd.runcommand;它会保存记录...但我从未使用过它:

if me.dirty=true then
   me.dirty=false
end if