● 概要 ●
[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イベントが発生します。
さらにそのあと、削除確認のメッセージダイアログが表示されます。それぞれのイベントをキャンセルすると、次の過程には進みません。