• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:accessマクログループの全マクロの実行方法)

accessマクログループの全マクロの実行方法

このQ&Aのポイント
  • 顧客データベースでグループマクロを使用してマクロを実行する際、1行目のクエリしか実行されない問題が発生しています。VBA以外の方法で全てのマクロを実行する方法はありますか?
  • 顧客データベースにおいて、メイン名簿テーブルから削除された顧客等を削除テーブルに移動するためのクエリやマクロを作成しています。グループマクロを実行すると1行目のクエリしか実行されない問題が発生しています。VBA以外の方法で全てのマクロを実行する方法はありますか?
  • 顧客データベースのメイン名簿テーブルから削除された顧客等を削除テーブルに移動するためのクエリやマクロを作成しています。グループマクロを実行すると1行目のクエリしか実行されない問題があります。VBA以外で全てのマクロを実行する方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.4

> 全て実行する簡単な方法はありませんか? 3つのアクションクエリを「常にセットで実行」するのでしたら、マクロのデザインビューの 『マクロ名』欄は、全て空白にして下さい。 【現状】 ※クエリ名はここでは省略しています。  <マクロ名>     <アクション> 削除処理日追加  クエリを開く 削除tblへコピー   クエリを開く 名簿tblからの削除 クエリを開く 【修正版・1】  <マクロ名>     <アクション>             クエリを開く             クエリを開く             クエリを開く 【修正版・2】  ※bin-chanさんからの回答にもある、クエリ実行前に都度発生する確認メッセージを   省略する場合。  <マクロ名> <条件> <アクション>      『メッセージの表示』引数          (*1)   マクロの中止       ↓               メッセージの設定   「いいえ」               クエリを開く               クエリを開く               クエリを開く  ※「(*1)」には、以下の式を入れてください:    MsgBox("処理を実行します。", 1, "確認")=2  ※マクロの場合は、マクロの処理が終了するのと同時に『メッセージの設定』を「はい」に    戻さなくても自動で元の設定に戻ります(VBAと動作が違うので、VBAに乗り換える    場合は注意が必要)。 ★フォームからの呼び出し方が、「(親マクロ名).削除処理日追加」となっている場合は、  「(親マクロ名)」の形に変更して下さい。   ------------------------------ また、各アクションクエリを個別でも実行したい、という場合は、以下のような形にします。 【修正版・3】  <マクロ名>   <条件> <アクション>    『マクロの実行』引数の値            (*1)   マクロの中止      ↓                 マクロの実行  「(親マクロ名).削除処理日追加」                 マクロの実行  「(親マクロ名).削除tblへコピー」                 マクロの実行  「(親マクロ名).名簿tblからの削除」 削除処理日追加      メッセージの設定                 クエリを開く 削除tblへコピー       メッセージの設定                 クエリを開く 名簿tblからの削除     メッセージの設定                 クエリを開く ※「(*1)」は【修正版・3】と同じもの。 ・・・以上です。

salut1977
質問者

補足

DexMachina様 出来ました!!モジュールが苦手なので、【修正1】でやってみました。 マクロ名は入れると便利かなと思っていましたが、、、勉強になりました! 【修正2】はマクロをもう少し勉強してからやって見たいと思います。 画像も付けていただき、本当にありがとうございました!!

すると、全ての回答が全文表示されます。

その他の回答 (3)

  • piroin654
  • ベストアンサー率75% (692/917)
回答No.3

クエリを単独で行なうことはできるのならば、 標準モジュールに以下を設定し、 Sub cmdQuery() 'メッセージの無効化 DoCmd.SetWarnings False DoCmd.OpenQuery "削除処理日追加" DoCmd.OpenQuery "削除tblへ追加" DoCmd.OpenQuery "名簿tblからの削除" 'メッセージの有効化 DoCmd.SetWarnings True End Sub マクログループのかわりに、 マクロで「プロシージャの実行」で、 プロシージャ名を「cmdQuery」を 設定する方法はどうですか。

salut1977
質問者

補足

piroin654様 ありがとうございます! ただ、モジュールが苦手なので… もう少し勉強して参考にしたいと思います。 お忙しい中、ありがとうございました!!

すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.2

「ツール>オプションのアクションクエリの確認で、チェックを外す」だったんですが その他の処理でもすべて確認が無くなってしまうのでマズそうですね。 マクロの前後に各1行ずつ追加して、「メッセージの設定」を加えてみてください。 削除処理日追加などで「作成(削除)します」系のメッセージが出ないはずです。 メッセージ抑止     メッセージの設定 “いいえ” 削除処理日追加     クエリを開く    (更新クエリ)削除処理日追加 削除tblへコピー    クエリを開く    (追加クエリ)削除tblへ追加 名簿tblからの削除   クエリを開く    (削除クエリ)名簿tblからの削除          メッセージ有効     メッセージの設定 “はい”

salut1977
質問者

補足

駄目でした。。 今度は1行目も動作しなくなりました。。

すると、全ての回答が全文表示されます。
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

記載されているマクロではなく、単純な削除クエリを作成・実行すると 「削除してよいですか?」的な確認が行われませんか? ツール>オプションで、アクションクエリの項を確認なさると良いかも。 (都度、確認が入るので停止してませんか?)

salut1977
質問者

補足

bin-chan様 早速のご回答、ありがとうございます!! すみません、ご回答について質問をさせてください。。 ●記載されているマクロではなく、単純な削除クエリを作成・実行すると 「削除してよいですか?」的な確認が行われませんか? ⇒はい、単純な削除クエリだけで実行するとメッセージが出て削除されます。  また他のクエリも単体だけだと正常に動作します。  でもフォームに「削除」ボタンを作成してそこをクリックすると、(更新クエリ)削除処理日追加→(追加クエリ)削除tblへ追加→(削除クエリ)名簿tblからの削除という順番でアクションクエリを一気に実行させたいのです。その様な方法はありませんでしょうか。 ●ツール>オプションで、アクションクエリの項を確認なさると良いかも。 (都度、確認が入るので停止してませんか?) ⇒すみません、これはアクションクエリのどういったことを確認すればいいのでしょうか。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう