2016-11-17 56 views
0

我有一个表单是专门用于数据录入,并且一个按钮(应该)将该记录保存到数据表(即转到下一个空白记录)与消息框出现说“你的记录已经保存成功”。表单按钮保存与表验证记录冲突

但是,我在窗体上有必填字段,在数据表中将验证设置为'不是空',因此我可以定义出现的错误消息。 然后这会导致在'保存记录'按钮上单击,1:出现一个消息框,告诉我它已成功保存,然后在数据表中设置验证错误消息,然后是“无法访问指定记录“,然后是宏单步窗口,提示我”停止所有宏“ 如果验证规则(在数据表中设置)失败,如何让宏停止运行? - 我会认为这会继续进行宏观建设者的第一次活动?

感谢您提供的任何帮助!

+0

是使用VBA而不是宏选项?很少Access开发人员使用宏(AutoExec除外),因此很难找到帮助。 – Andre

+0

它可能潜在地,我对Access很新,所以它将取决于VBA解决方案的复杂程度 –

回答

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