DoCmd.SetWarnings
は、Access VBA において アクションクエリやシステムメッセージの表示を制御するためのメソッドです。通常、削除・更新などのクエリを実行すると「○件のレコードが変更されます。続行しますか?」といった警告メッセージが表示されますが、それを一時的に無効にできます。
目次
🔹 基本構文
DoCmd.SetWarnings WarningsOn
🔸 引数の解説
引数名 | 型 | 説明 |
---|---|---|
WarningsOn | Boolean | True = 警告を表示する(デフォルト)False = 警告を表示しない(自動処理向け) |
✅ 使用例:確認メッセージなしでクエリを実行
Sub SilentUpdate() DoCmd.SetWarnings False ' 警告を無効化 DoCmd.OpenQuery "qryUpdateStock" DoCmd.SetWarnings True ' 警告を再び有効化 End Sub
✅ 注意点
SetWarnings False
の後は、必ずTrue
に戻すこと!
そうしないと、以降の操作すべてでメッセージが表示されず、誤操作に気づけなくなります。- エラーが起きても
True
に戻せるよう、On Error
構文やFinally
ブロックを使うのがベストです。
✅ 応用例:エラー時でも警告復帰させる
Sub SafeUpdate() On Error GoTo ErrHandler DoCmd.SetWarnings False DoCmd.OpenQuery "qryUpdateCustomers" Cleanup: DoCmd.SetWarnings True Exit Sub ErrHandler: MsgBox "エラーが発生しました: " & Err.Description Resume Cleanup End Sub