#011 レコード削除時のAccessのメッセージを表示させない方法 VBA

Access削除メッセージAccessでは、テーブルのデータシートビューでもフォームでも、レコードを削除しようとすると図のようなメッセージが表示されます。常に表示させなくてよい場合にはAccessのメニューの[オプション]によって設定することができますが、ここではフォームのレコード編集において、イベントプロシージャを使って表示を抑制する方法、さらに独自のメッセージを表示する方法をご紹介します。

まず、フォームのプロパティウィンドウから[削除前確認]のイベントプロシージャをコードビルダによって作成します。
Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)

End Sub

ここには削除されようとしている状態での処理を記述します。削除していいのかあるいは削除操作を中止するのか、またAccessのメッセージの表示をするかどうかの2つの返値をセットします。

例:そのまま何もメッセージを表示せずに削除する場合

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
   Response = acDataErrContinue
End Sub
例:独自の削除確認メッセージを表示する場合

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
   Beep
   If MsgBox("削除しますか?", vbYesNo + vbQuestion) = vbYes Then
      Response = acDataErrContinue
   Else
      Cancel = True
   End If
End Sub
例:常に削除させない場合
すべてのレコードに関して削除を禁止する場合には[削除の許可]プロパティを"いいえ"に設定しますが、さまざまな条件によって削除を許可したり禁止したりする場合にはこのイベントプロシージャを使用します。

Private Sub Form_BeforeDelConfirm(Cancel As Integer, Response As Integer)
   Beep
   MsgBox "削除できません!"
   Cancel = True
End Sub
| Index | Prev | Next |



T'sFactory
Accessで動く生産管理DB
Ureru Express
Webで使う販売顧客管理
Access開発&アドバイス
DB開発やテクニカルアドバイス
Copyright © T'sWare All rights reserved