我有一个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
代码被执行,但是,没有创建新记录。输入控件链接到表字段。
答案 0 :(得分:0)
我会确保表单只在下面变脏时尝试保存。 我添加了一个错误处理程序来通知用户无法保存表单。
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