即効テクニック |
● 概要 ● [Delete]キーを押すなどしてレコード削除の操作をしたとき、レコードが削除されたあと、既定の削除確認のメッセージダイアログが表示される前に発生します。 イベントプロシージャは、BeforeDelConfirm/削除前確認プロパティに設定します。 BeforeDelConfirmイベントプロシージャの引数にTureを設定すると、BeforeDelConfirmイベントをキャンセルすることができます。 その結果、フォームから削除されてバッファに一時保存されていたレコードが復元します。 また、引数 にfalseを設定すると、既定の削除確認のメッセージダイアログを表示しないようにできます。 次のコードは、カスタムメッセージダイアログを表示して削除確認を行い、「いいえ」ボタンがクリックされたらイベントをキャンセルするものです。 その結果、一時的に削除されていたレコードは復元します。 ● サンプル ● 'レコード削除確認をカスタムダイアログで行う Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) Dim myMes As String Dim myRes As Integer '既定のメッセージを表示しない Response = False myMes = "社員データを削除しますか" '削除を確認する myRes = MsgBox(myMes, vbYesNo) If myRes = vbNo Then 'イベントをキャンセルする Cancel = True End If End Sub ● 補足 ● レコードを削除する操作をすると、まず1つ1つのレコードに対してDeleteイベントが発生します。 次に、レコードが削除され、バッファに移動したあと、BeforeDelConfirmイベントが発生します。 さらにそのあと、削除確認のメッセージダイアログが表示されます。それぞれのイベントをキャンセルすると、次の過程には進みません。