当用户关闭表单时,Access 会自动保存数据库中输入的数据。因此,没有必要有保存按钮。
但是,由于大多数用户习惯于按下Save
按钮,他们仍然会坚持应该有一个Save
按钮。
应该为Save
按钮编写什么代码,以保存表单中输入的所有数据。
还必须注意检查数据是否已更改。有时用户会打开表单查看数据,然后即使他们没有进行任何更改,他们也会按Save
按钮。
您也可以仅使用 Dirty
:
Private Sub cmdSave_Click()
If Me.Dirty = True Then
Me.Dirty = False
End If
End Sub
Save
按钮的 Click 事件的代码
Private Sub cmdSave_Click()
If Me.Dirty Then 'to check if any data has changed.
DoCmd.RunCommand acCmdSaveRecord
End If
End Sub
根据我从同事那里得到的相同评论,我认为这就是您想要的......我总是从问他们是否想保存的问题开始,有时用户只是好玩,弄乱记录。
If me.dirty = true then
If MsgBox("Are you sure you want to save as " & TempVars!gbl_username & "?
After saving you will be moved to a new record", _
vbYesNo + vbQuestion, "Save Changes") = vbNo Then
'If answer is no
'Do nothing
Else
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
End If
End If