共用方式為


Form.BeforeDelConfirm 事件 (Access)

BeforeDelConfirm 事件發生之後使用者刪除緩衝區一或多個記錄,但是在 Microsoft Access 之前會顯示對話方塊要求使用者確認刪除作業。

語法

運算式BeforeDelConfirm (Cancel回應)

expression 代表 Form 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 Integer 設定決定 BeforeDelConfirm 事件會發生。 Cancel引數設定為 True 取消 BeforeDelConfirm 事件並防止 刪除確認] 對話方塊顯示。 取消事件時,還原原始的記錄,但仍會在發生 AfterDelConfirm 事件。 如果 Cancel設為 True ,則會忽略 Response引數。 如果 Cancel 設為 False (0) ,預設是,則 Access 會使用 Response 引數中的值來判斷 Delete 事件的回應類型。
回應 必要 整數 判斷 Access 是否顯示 [ 刪除確認 ] 對話方塊的內部常數,詢問是否應該刪除記錄。 acDataErrContinue 會繼續執行而不顯示 [ 刪除確認] 對話方塊。 Cancel引數設定為 False ,且 acDataErrContinueResponse引數可讓 Microsoft Access 而不提示使用者刪除記錄。 acDataErrDisplay 會顯示 [ 刪除確認] 對話方塊。 預設值為 acDataErrDisplay

註解

若要在發生這些事件時執行巨集或事件程序,請將 BeforeDelConfirm 屬性設定為巨集名稱或 [事件程序]。

刪除一筆記錄之後,它會儲存於暫時緩衝區。 在 Access 資料庫中, BeforeDelConfirm 事件會在 Delete 事件 (之後發生,或者如果您已刪除一筆以上的記錄,則在刪除所有記錄之後,且每筆記錄都會發生 Delete 事件) ,但在 [ 刪除確認 ] 對話方塊顯示之前。 取消 BeforeDelConfirm 事件從緩衝區還原記錄並防止 刪除確認] 對話方塊顯示。

在 Access 資料庫中, AfterDelConfirm 事件會在記錄或記錄實際刪除之後,或在刪除或刪除取消之後發生。 如果 BeforeDelConfirm 事件無法取消此事件之後 刪除確認] 對話方塊會顯示, 發生 AfterDelConfirm 事件。 即使取消 BeforeDelConfirm 事件發生 AfterDelConfirm 事件。

如果您取消 Delete 事件,則不會發生 BeforeDelConfirm 事件,而且不會顯示 [ 刪除確認 ] 對話方塊。

在 Access 專案 (.adp) 中, BeforeDelConfirm 事件會在 Delete 事件之前發生。 為了避免在 Microsoft SQL Server上開啟不必要的交易,Access 會提示您在開啟交易之前確認刪除。 如果您確認刪除,Access 會在SQL Server開啟交易、發出 DELETE 子句來刪除記錄或記錄,並引發表單的Delete事件。 如果您在系統提示您確認刪除時選擇[否],則 Access 不會在SQL Server上開啟交易來刪除記錄,也不會引發表單的Delete事件。

注意事項

[!注意事項] BeforeDelConfirm 事件不會發生且 [ 刪除確認對話方塊中不會顯示如果清除 [ Access 選項] 對話方塊的 [ 編輯] 索引標籤下的 [ 確認記錄變更」 的核取方塊。

Delete 事件發生時執行巨集或事件程序,您可以防止記錄被刪除或允許只在某些情況下要刪除的記錄。 您也可以使用 刪除 事件來顯示此對話方塊詢問使用者是否會在刪除之前刪除一筆記錄。

刪除記錄之後,焦點會移至刪除記錄之後的下一筆記錄,併發生該記錄的 Current 事件,後面接著該記錄中第一個控制項的 EnterGotFocus 事件。

BeforeDelConfirm事件接著會在 Access 顯示 [刪除確認] 對話方塊要求您確認刪除之前發生。 確認或取消刪除回應] 對話方塊後,便會發生 AfterDelConfirm 事件。

您可以一次刪除一或多個記錄。 Delete 事件會在刪除每筆記錄之後發生。 這可讓您存取每筆記錄中的資料真正刪除,並選擇性地確認或取消 刪除 巨集或事件程序中的每個刪除。 當您刪除多個記錄追蹤最後一個已刪除的記錄和 輸入 記錄的 Current 事件與此記錄中的第一個控制項的 GotFocus 事件不會發生之前刪除所有記錄。 換句話說, Delete 事件發生的每個選取的記錄,但不會將其他事件發生之前刪除所有選取的記錄。 BeforeDelConfirm 事件不會發生之前刪除所有選取的記錄。

範例

下列範例顯示如何使用 BeforeDelConfirm 事件程序隱藏 [ 刪除確認對話方塊以及刪除一筆記錄時顯示自訂對話方塊。 它也會顯示如何使用 AfterDelConfirm 事件程序來顯示訊息,指出是否刪除前進以一般方式或其已取消在 Visual Basic 或使用者。

Private Sub Form_BeforeDelConfirm(Cancel As Integer, _ 
 Response As Integer) 
 ' Suppress default Delete Confirm dialog box. 
 Response = acDataErrContinue 
 ' Display custom dialog box. 
 If MsgBox("Delete this record?", vbOKCancel) = vbCancel Then 
 Cancel = True 
 End If 
End Sub 
 
Private Sub Form_AfterDelConfirm(Status As Integer) 
 Select Case Status 
 Case acDeleteOK 
 MsgBox "Deletion occurred normally." 
 Case acDeleteCancel 
 MsgBox "Programmer canceled the deletion." 
 Case acDeleteUserCancel 
 MsgBox "User canceled the deletion." 
 End Select 
End Sub

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應