单击按钮时如何制作是/否消息框

时间:2012-11-13 18:00:02

标签: ms-access

我想在点击“保存并打开新建”按钮时弹出一个消息框,保存一个像这样的记录(在表格中):

您确定要保存此记录吗? 是/否

如果保存记录,我想获得另一个消息框。就像这样: 记录已保存。

1 个答案:

答案 0 :(得分:8)

我不明白命令按钮如何适合这里。如果您正在讨论绑定表单,则可能需要拦截自动保存操作,该操作在用户导航到另一个记录时发生。如果这是您的情况,您可以在更新事件之前的表单中询问用户。

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

如果用户在不使用命令按钮的情况下导航到不同的记录,如果用户使用未保存的方式关闭表单,则不要忘记该方法不允许您在保存对当前记录的更改之前要求用户进行确认更改当前记录。

相关问题