分享方式:


Form.Delete 事件 (存取)

當使用者執行某些動作 (例如按 Delete 鍵) 刪除記錄時,但在實際刪除記錄之前發生。

語法

表達。刪除 (取消)

expression 代表 Form 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Cancel 必要 整數 這個設定值決定 Delete 事件是否會發生。 將 Cancel 引數設定為 True (1) 會取消 Delete 事件。

註解

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

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

AfterDelConfirm 事件發生在已確實刪除一筆或多筆記錄之後,或是取消一個或多個刪除動作之後。 如果 BeforeDelConfirm 事件無法取消此事件之後 刪除確認] 對話方塊會顯示, 發生 AfterDelConfirm 事件。 即使取消 BeforeDelConfirm 事件發生 AfterDelConfirm 事件。 AfterDelConfirm 事件程序會傳回刪除的狀態資訊。 例如,您可以使用伴隨 AfterDelConfirm 事件的巨集或事件程序來重算受到記錄刪除影響的合計。

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

注意事項

如果您清除 [存取選項] 對話方塊的 [進階] 索引標籤上 [確認] 底下的 [記錄變更] 核取方塊,則不會發生 BeforeDelConfirmAfterDelConfirm 事件,而且不會顯示 [刪除確認] 對話方塊,您可以選擇 [Microsoft Office] 按鈕,然後選擇 [存取選項]。

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

若要刪除記錄,您可以選擇 刪除記錄編輯 功能表上。 如此便會刪除現有的記錄 (亦即記錄選取器中所指出的記錄)。 您也可以選擇記錄選取器,或選擇 [編輯] 功能表上的 [選取記錄] 來選取記錄,然後按 Delete 鍵將其刪除。 如果您選擇 [刪除記錄](目前記錄的記錄選取器)或 [選取記錄],則會發生具有焦點之控制項的 ExitLostFocus 事件。 如果您已變更記錄中的任何資料,則記錄的 BeforeUpdateAfterUpdate 事件會發生在 ExitLostFocus 事件之前。 如果您選擇不同記錄的記錄選取器,也會發生該記錄的 「目前」 事件。

刪除記錄之後,焦點會移至已刪除記錄之後的下一筆記錄,並發生該記錄的 [目前] 事件,然後是該記錄中第一個控制項的 EnterGotFocus 事件。

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

您可以一次刪除一或多個記錄。 Delete 事件會在刪除每筆記錄之後發生。 這可讓您存取每筆記錄中的資料真正刪除,並選擇性地確認或取消 刪除 巨集或事件程序中的每個刪除。 當您刪除多筆記錄時,在刪除所有記錄之前,不會發生上次刪除記錄後面的記錄的 Current 事件,以及此記錄中第一個控制項的 EnterGotFocus 事件。 換句話說, Delete 事件發生的每個選取的記錄,但不會將其他事件發生之前刪除所有選取的記錄。 在刪除全部選取的記錄之前,BeforeDelConfirmAfterDelConfirm 事件是不會發生的。

範例

下列範例說明如何防止使用者刪除資料表中的記錄。 若要嘗試此範例,請將下列事件程序新增至以資料表為基礎的表單中。 切換至表單的 [資料工作表檢視] 並嘗試刪除一筆記錄。

Private Sub Form_Delete(Cancel As Integer) 
    Cancel = True 
    MsgBox "This record can't be deleted." 
End Sub

支援和意見反應

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