#579 | 複数レコード削除時にレコードごとに確認メッセージを出す方法 | フォーム、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 |