SetWarnings 基本構文と引数の解説

DoCmd.SetWarnings は、Access VBA において アクションクエリやシステムメッセージの表示を制御するためのメソッドです。通常、削除・更新などのクエリを実行すると「○件のレコードが変更されます。続行しますか?」といった警告メッセージが表示されますが、それを一時的に無効にできます。


目次

🔹 基本構文

DoCmd.SetWarnings WarningsOn

🔸 引数の解説

引数名説明
WarningsOnBooleanTrue = 警告を表示する(デフォルト)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

よかったらシェアしてね!
目次