![]() |
![]() |
複数レコード削除時にレコードごとに確認メッセージを出す方法 | フォーム、VBA |
フォームにおいて、下図のように複数のレコードを範囲選択してレコードを削除しようとしたとします。 ![]() このとき、フォームの「BeforeDelConfirm/レコード削除前確認」イベントプロシージャが次のようになっていたとすると、この確認メッセージは”一度”表示されただけで全選択レコードの削除が実行されます。 Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer) 'レコード削除前確認 MsgBox "レコードを削除します!" End Sub ![]() ![]() ![]() これに対して、「Delete/レコード削除時」イベントの発生時点でチェックをかけると、選択レコード一括ではなく、それらの1レコードごとに対して確認メッセージを表示させることができます。またその際、1レコードごとのコントロールあるいはフィールドの値を取得してその内容を確認メッセージ文に含めたりすることもできます。 このイベントは、複数のレコードが範囲選択されて削除されようとした場合でも1レコードごとに発生します。そして、ここで削除がキャンセルされなかったレコードだけが次のイベントとしてBeforeDelConfirmに渡されます。 Private Sub Form_Delete(Cancel As Integer) 'レコード削除時 '削除確認メッセージを表示 If MsgBox(Me!商品名 & "を削除してよいですか?", _ vbYesNo + vbQuestion) = vbNo Then '[いいえ]が選択されたら削除をキャンセル Cancel = True End If End Sub 実行例: ![]() ![]() ![]() ![]() ![]() |
|||
|
Copyright © T'sWare All rights reserved | ![]() ![]() |