2016-11-17 35 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