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
