我想点击"保存并打开新建"按钮,弹出一个弹出消息框,保存像这样的记录(在一个表格内):
您确定要保存此记录吗?是/否
如果保存记录,我想获得另一个消息框.就像这样:保存记录.
Han*_*sUp 10
我不明白命令按钮如何适合这里.如果您正在讨论绑定表单,则可能需要拦截在用户导航到另一个记录时发生的自动保存操作.如果这是您的情况,您可以在更新事件之前的表单中询问用户.
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
Run Code Online (Sandbox Code Playgroud)
如果用户单击"否",则更新将被取消,并且她将保留在同一记录中,并有机会对该记录进行不同的更改或不进行更改.如果您更愿意放弃挂起的更改,请添加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
Run Code Online (Sandbox Code Playgroud)
只是不要忘记,如果用户在不使用命令按钮的情况下导航到不同的记录,如果用户使用未保存的更改关闭表单,则在保存对当前记录的更改之前,该方法将不允许您要求用户进行确认.目前的记录.