ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.017

アクション クエリのメッセージを非表示にするには

2003/2007/2010/2013/2016

テーブルのデータを編集できるアクション クエリはデータ処理には欠かせないものです。
Accessの既定では、実行する際にはメッセージが表示され、確認してからの実行となります。
もちろん、大切なデータが変わってしてしまうわけですから、最初はそれくらいの確認事項はあってもいいとは思いますが、毎度わかっているような場合は、確認メッセージを非表示に設定することができます。

アクション クエリ確認メッセージの非表示は、クライアント(端末)ごとの設定のケースとクエリごとの設定のケースと2つのパターンがあるかと思います。
では順番にご案内していきます。

<クライアント(端末)ごとの設定>

すべてのアクション クエリについて、確認メッセージを非表示にする場合は、オプションの設定があります。

[ファイル]タブ-[オプション]をクリックし、表示される[Access のオプション]ダイアログ ボックスを表示します。
[クライアントの設定]を選択し、[編集]-[確認]の[アクション クエリ]チェック ボックスをオフにします。

Accessのオプション

以上で、どのアクション クエリを実行する場合も確認メッセージは表示されなくなります。
ただし、この設定はクライアント(端末)ごとでの設定です。
同じパソコン内の別のデータベースでも確認メッセージが非表示となりますので、ご注意ください。

<クエリごとの設定>

さて、アクション クエリごとで確認メッセージを表示したい場合は、マクロかモジュール(VBA)を使う必要があります。

では、マクロからいきましょう。

マクロを新規作成し、先に[マクロ ツール]-[デザイン]タブ-[表示/非表示]グループの[すべてのアクションを表示]ボタンをオンにして、[メッセージの設定]アクションを追加し、引数[メッセージの表示]を[いいえ]に設定します。
続けて[クエリを開く]アクションで引数[クエリ名]にアクション クエリを指定します。

マクロ

これで、[メッセージの設定]アクション以下のアクション クエリについてメッセージを出すことなく実行させることができます。
同じマクロ内でここから以降のアクション クエリはメッセージを表示するのであれば、そのクエリの前にまた[メッセージの設定]アクションを追加し、今度は引数[メッセージの表示]を[はい]にします。
違うマクロでは、再度[メッセージの設定]アクションを指定してください。

モジュール(VBA)では、次のように記述します。

  DoCmd.SetWarnings False
  DoCmd.OpenQuery "クエリ1"
  DoCmd.OpenQuery "クエリ2"
  DoCmd.SetWarnings True

最初にメッセージを非表示にし、最後にはメッセージを表示設定に戻します。
このSetWarningsメソッドは、マクロの[メッセージの設定]アクションに該当しますが、最後のメッセージを表示する設定を記述しないと、データベースを再起動するまで、今後のアクション クエリのメッセージが表示されなくなってしまいます。マクロでは、メッセージを表示する設定は必要ありません。

twitter hatena line pocket

関連ヘルプ

クエリの演算フィールドについて、式ビルダーの使い方
クロス集計クエリの結果のNull値を「0」と表示する
重複のない一通りデータを取得したい
テーブルのデータ型をクエリで変更する 《データ定義クエリ》
外部結合とは
削除クエリで、別のテーブルまたはクエリと共通するレコードを一括削除する
複数テーブルをつなげてレコードを結合する 《ユニオン クエリ》
クエリで空白(でない)データを抽出したい、Accessの空白について
重複クエリとは
部分一致のパラメーター クエリを作成する、パラメーター クエリの設定方法
更新クエリでテーブルのデータを置換する(文字列の一部更新)
クロス集計クエリを元にパラメーター クエリを実行「~認識できません」エラー
特定のレコードのみ最初に並べ、他のレコードは普通に並べ替えする
基本的な抽出条件の書き方について
ワイルドカードや数式を使用した高度な抽出
クエリで連番、グループ連番をふる