No.017
アクション クエリのメッセージを非表示にするには
2003/2007/2010/2013/2016
テーブルのデータを編集できるアクション クエリはデータ処理には欠かせないものです。
Accessの既定では、実行する際にはメッセージが表示され、確認してからの実行となります。
もちろん、大切なデータが変わってしてしまうわけですから、最初はそれくらいの確認事項はあってもいいとは思いますが、毎度わかっているような場合は、確認メッセージを非表示に設定することができます。
アクション クエリ確認メッセージの非表示は、クライアント(端末)ごとの設定のケースとクエリごとの設定のケースと2つのパターンがあるかと思います。
では順番にご案内していきます。
<クライアント(端末)ごとの設定>
すべてのアクション クエリについて、確認メッセージを非表示にする場合は、オプションの設定があります。
[ファイル]タブ-[オプション]をクリックし、表示される[Access のオプション]ダイアログ ボックスを表示します。
[クライアントの設定]を選択し、[編集]-[確認]の[アクション クエリ]チェック ボックスをオフにします。
以上で、どのアクション クエリを実行する場合も確認メッセージは表示されなくなります。
ただし、この設定はクライアント(端末)ごとでの設定です。
同じパソコン内の別のデータベースでも確認メッセージが非表示となりますので、ご注意ください。
<クエリごとの設定>
さて、アクション クエリごとで確認メッセージを表示したい場合は、マクロかモジュール(VBA)を使う必要があります。
では、マクロからいきましょう。
マクロを新規作成し、先に[マクロ ツール]-[デザイン]タブ-[表示/非表示]グループの[すべてのアクションを表示]ボタンをオンにして、[メッセージの設定]アクションを追加し、引数[メッセージの表示]を[いいえ]に設定します。
続けて[クエリを開く]アクションで引数[クエリ名]にアクション クエリを指定します。
これで、[メッセージの設定]アクション以下のアクション クエリについてメッセージを出すことなく実行させることができます。
同じマクロ内でここから以降のアクション クエリはメッセージを表示するのであれば、そのクエリの前にまた[メッセージの設定]アクションを追加し、今度は引数[メッセージの表示]を[はい]にします。
違うマクロでは、再度[メッセージの設定]アクションを指定してください。
モジュール(VBA)では、次のように記述します。
DoCmd.SetWarnings False
DoCmd.OpenQuery "クエリ1"
DoCmd.OpenQuery "クエリ2"
DoCmd.SetWarnings True
最初にメッセージを非表示にし、最後にはメッセージを表示設定に戻します。
このSetWarningsメソッドは、マクロの[メッセージの設定]アクションに該当しますが、最後のメッセージを表示する設定を記述しないと、データベースを再起動するまで、今後のアクション クエリのメッセージが表示されなくなってしまいます。マクロでは、メッセージを表示する設定は必要ありません。