AccessVBAでクエリ実行時の確認メッセージを完全に非表示にする方法

Access警告メッセージ

今回は、Accessのクエリを実行するときに表示される確認メッセージを完全に非表示にする方法をご紹介します。

Accessのオプションで確認メッセージのチェックを外しても、更新クエリや追加クエリ、テーブル作成クエリをマクロで実行すると、確認メッセージが表示されてしまう!ユーザーに表示された確認メッセージをわざわざ閉じさせたくない!

なんてときに役立つ情報です。

実はマクロでは完全に確認メッセージを非表示にすることはできません。VBAを使ってクエリを実行する必要があります。

VBAでクエリを実行

次の1行を冒頭に記述するだけで、クエリ実行時のすべての確認メッセージを完全に非表示にすることができます。

    ' 更新時の警告メッセージ非表示
    ' クライアントの設定 ⇒ 編集 ⇒ 確認 にある3つのチェックを外すだけでは全ての警告メッセージを非表示にすることはできない
    ' ①レコードの変更 ②オブジェクトの削除 ③アクションクエリ
    DoCmd.SetWarnings False

VBAでクエリを実行するためには、”DoCmd.SetWarnings False”の後に続けて以下のように記述します。

    ' 更新時の警告メッセージ非表示
    ' クライアントの設定 ⇒ 編集 ⇒ 確認 にある3つのチェックを外すだけでは全ての警告メッセージを非表示にすることはできない
    ' ①レコードの変更 ②オブジェクトの削除 ③アクションクエリ
    DoCmd.SetWarnings False

    ' 更新、挿入、削除、テーブル作成クエリ実行
    DoCmd.OpenQuery "クエリ名", acNormal, acEdit

こうすることで、クエリ実行時のすべての確認メッセージを完全に非表示にすることができます。

Accessのオプションで確認メッセージのチェックオフ(参考情報)

VBAのように、クエリ実行時の確認メッセージを完全に非表示にすることはできませんが、テーブル作成クエリを実行しないマクロであればAccessのオプション設定で確認メッセージを非表示にすることができます。

下図のように、Accessのオプション ⇒ クライアントの設定 に移動し、「確認」の3つの項目のチェックを外します。

  • レコードの変更
  • オブジェクトの削除
  • アクションクエリ

こうすることで、ある程度の確認メッセージであれば非表示にすることができます。簡単なマクロを実装するときなんかは役立ちますね!

ただし、前述した通りこの方法では、クエリ実行時の確認メッセージを完全に非表示にすることはできませんので、どうしても確認メッセージが表示されてしまう!という方は、VBAでクエリを実行してみてください。

まとめ

今回は、Accessのクエリを実行するときに表示される確認メッセージを完全に非表示にする方法をご紹介しました。VBAでクエリを実行するとメンテナンスも楽ですし、何か予期せぬ動作をした場合でも問題のクエリを簡単に特定することができます。

ということで、えいじまんは100%すべてVBAでクエリを実行しています(マクロは使いません)。それほどVBAで実行した方がメリットがあります。是非VBAを使ってみてくださいね!

この記事が皆様のお役に立ちましたら幸いです!

この記事に関連するオススメ記事

AccessVBAのモジュールにパスワードを設定する方法

シェアする

  • このエントリーをはてなブックマークに追加

フォローする