Access (的 Form.Delete 事件)
發生于使用者執行一些動作時,例如按 Delete 鍵來刪除記錄,但在實際刪除記錄之前。
語法
運算式。刪除 (取消)
expression 代表 Form 物件的變數。
參數
名稱 | 必要/選用 | 資料類型 | 描述 |
---|---|---|---|
Cancel | 必要 | 整數 | 這個設定值決定 Delete 事件是否會發生。 將 Cancel 引數設定為 True (1) 會取消 Delete 事件。 |
註解
若要在這些事件發生時執行宏或事件程序,請將 OnDelete、 BeforeDelConfirm或 AfterDelConfirm 屬性設定為宏的名稱或 [事件程序]。
刪除記錄之後,該筆記錄會儲存於暫時緩衝區中。 BeforeDelConfirm 事件發生在 Delete 事件之後 (或者如果您刪除多筆記錄,則發生於刪除所有記錄之後,而每一筆記錄都會發生一個 Delete 事件),但發生於 [確認刪除] 對話方塊顯示之前。 取消 BeforeDelConfirm 事件從緩衝區還原記錄並防止 刪除確認] 對話方塊顯示。
AfterDelConfirm 事件發生在已確實刪除一筆或多筆記錄之後,或是取消一個或多個刪除動作之後。 如果 BeforeDelConfirm 事件無法取消此事件之後 刪除確認] 對話方塊會顯示, 發生 AfterDelConfirm 事件。 即使取消 BeforeDelConfirm 事件發生 AfterDelConfirm 事件。 AfterDelConfirm 事件程序會傳回刪除的狀態資訊。 例如,您可以使用伴隨 AfterDelConfirm 事件的巨集或事件程序來重算受到記錄刪除影響的合計。
如果取消 Delete 事件,則 BeforeDelConfirm 及 AfterDelConfirm 事件將不會發生,且 [確認刪除] 對話方塊也不會顯示。
注意事項
BeforeDelConfirm和AfterDelConfirm事件不會發生,而且如果您清除 [存取選項] 對話方塊的 [進階] 索引標籤上的[確認] 下的 [記錄變更] 核取方塊,則不會顯示 [刪除確認] 對話方塊,然後選擇 [存取選項]。
Delete 事件發生時執行巨集或事件程序,您可以防止記錄被刪除或允許只在某些情況下要刪除的記錄。 您也可以使用 刪除 事件來顯示此對話方塊詢問使用者是否會在刪除之前刪除一筆記錄。
若要刪除記錄,您可以選擇 [編輯] 功能表上的 [刪除記錄]。 如此便會刪除現有的記錄 (亦即記錄選取器中所指出的記錄)。 您也可以選擇記錄選取器,或選擇 [編輯] 功能表上的 [選取記錄] 來選取記錄,然後按 [刪除] 鍵加以刪除。 如果您選擇 [刪除記錄]、目前記錄的記錄選取器或 [選取記錄],則會發生焦點控制項的 Exit 和 LostFocus 事件。 如果您已變更記錄中的任何資料,則記錄的 BeforeUpdate 和 AfterUpdate 事件會在 Exit 和 LostFocus 事件之前發生。 如果您選擇不同記錄的記錄選取器,該記錄的 Current 事件也會發生。
刪除記錄之後,焦點會移至刪除記錄之後的下一筆記錄,併發生該記錄的 Current 事件,後面接著該記錄中第一個控制項的 Enter 和 GotFocus 事件。
BeforeDelConfirm 事件然後之前,會發生,Microsoft Access 會顯示 [ 刪除確認對話方塊要求您確認刪除。 確認或取消刪除回應] 對話方塊後,便會發生 AfterDelConfirm 事件。
您可以一次刪除一或多個記錄。 Delete 事件會在刪除每筆記錄之後發生。 這可讓您存取每筆記錄中的資料真正刪除,並選擇性地確認或取消 刪除 巨集或事件程序中的每個刪除。 當您刪除多筆記錄時,最後一筆刪除記錄之後的記錄的 Current 事件,以及此記錄中第一個控制項的 Enter 和 GotFocus 事件,在刪除所有記錄之前不會發生。 換句話說, Delete 事件發生的每個選取的記錄,但不會將其他事件發生之前刪除所有選取的記錄。 在刪除全部選取的記錄之前,BeforeDelConfirm 和 AfterDelConfirm 事件是不會發生的。
範例
下列範例說明如何防止使用者刪除資料表中的記錄。 若要嘗試此範例,請將下列事件程序新增至以資料表為基礎的表單中。 切換至表單的 [資料工作表檢視] 並嘗試刪除一筆記錄。
Private Sub Form_Delete(Cancel As Integer)
Cancel = True
MsgBox "This record can't be deleted."
End Sub
支援和意見反應
有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應。