使用表格验证保存记录冲突的表单按钮

时间:2016-11-17 14:57:07

标签: forms datatable ms-access-2010

我有一个用于数据输入的表单,以及一个按钮(应该)将记录保存到数据表(即转到下一个空白记录),并显示一条消息框,说“您的记录已成功保存”

但是,我在表单上有必填字段,其中验证在数据表中设置为'Is Not Null',因此我能够定义出现的错误消息。 然后,在“保存记录”按钮上单击,第一个:出现一个告诉我已成功保存的消息框,然后是数据表中设置的验证错误消息,后跟“您无法转到指定的记录” ,然后是Macro Single Step窗口,提示我“停止所有宏” 如果验证规则(在数据表中设置)失败,如何让宏停止运行? - 我假设这会继续宏构建器的第一个事件?

感谢您提供的任何帮助!

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作,将此代码用作按钮的事件过程。

Private Sub cmdSaveRecord_Click()

    ' Try to save the record, skip error
    On Error Resume Next
    DoCmd.RunCommand acCmdSaveRecord
    ' If not successful, display error and exit
    If Err.Number <> 0 Then
        ' Err.Description contains the field validation rule message
        MsgBox Err.Description, vbExclamation, "Error on saving"
        Exit Sub
    End If

    On Error GoTo 0

    MsgBox "Your record has been saved successfully", vbInformation
    ' new record
    DoCmd.GoToRecord acActiveDataObject, , acNewRec
    ' goto first control on new record, instead of cmdSaveRecord
    Me.Text1.SetFocus

End Sub