我想在单击“保存并打开新”按钮时弹出一个消息框,以保存这样的记录(在表单中):
您确定要保存此记录吗?是/否
如果记录被保存,我想得到另一个消息框。所以像这样:记录已保存。
我想在单击“保存并打开新”按钮时弹出一个消息框,以保存这样的记录(在表单中):
您确定要保存此记录吗?是/否
如果记录被保存,我想得到另一个消息框。所以像这样:记录已保存。
我不明白命令按钮如何适合这里。如果您谈论的是绑定表单,您可能希望拦截在用户导航到另一条记录时发生的自动保存操作。如果这是您的情况,您可以在表单的更新前事件中询问用户。
Private Sub Form_BeforeUpdate(Cancel As Integer)
Const cstrPrompt As String = _
"Are you sure you want to save this record? Yes/No"
If MsgBox(cstrPrompt, vbQuestion + vbYesNo) = vbNo Then
Cancel = True
End If
End Sub
如果用户单击否,更新将被取消,她将保留在同一记录上,并有机会对该记录进行不同的更改或不更改。如果您更愿意放弃挂起的更改,请添加Me.Undo
到该过程。
您可以使用表单的更新后事件来显示“记录已保存”消息。
如果需要,您可以对表单的插入前和插入后事件执行类似操作。
根据对您的问题的更新,我认为您正在寻找这样的东西:
Private Sub cmdSaveAndNew_Click()
Const cstrPrompt As String = _
"Are you sure you want to save this record? Yes/No"
If MsgBox(cstrPrompt, vbQuestion + vbYesNo) = vbYes Then
If Me.Dirty Then
Me.Dirty = False ' save the record
End If
DoCmd.GoToRecord acDataForm, Me.Name, acNewRec
End If
End Sub
只是不要忘记,如果用户在不使用命令按钮的情况下导航到不同的记录,或者如果用户关闭表单时未保存对当前记录。