- ベストアンサー
<<ACCESS2000>>マクロでクエリを連続実行したいのですが、、、
宜しくお願いします。 複数のクエリを連続実行させる為にマクロを使ったのですが、 クエリを実行する際、たとえば、テーブル作成クエリーだと実行前に「現在あるテーブルを削除していいか?」や、 実行後に「何件作成しました」などというボックスが表示された際、自動的に「OK」をクリック できるようにしたいのですが、どのようにすればよいのでしょうか? 教えてください。
- seaviewrainbow
- お礼率9% (12/126)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。maruru01です。 マクロのアクションに、 「メッセージの設定」 という項目があるので、これを「いいえ」にしてから、クエリを実行し、その後で「はい」に戻すようにマクロを組めばOKです。 必ず、最後には「メッセージの設定」は「はい」に戻して下さい。 なお、この「メッセージの設定」→「いいえ」は、メッセージが表示された時に[Enter]キーを押す動作を自動で行うものです。 従って、メッセージダイアログが表示された時にフォーカスが当たっているボタン(いわゆる既定のボタン)をクリックすることになります。 「いいえ」や「キャンセル」が既定のボタンの場合は先に進みません。 あと、Accessのメニューで、 [ツール]→[オプション]→[編集/検索]タブ→[確認]の[アクションクエリ]のチェックを外すという方法があります。 ちなみにこれをVBAで書くと、 Application.SetOption "Confirm Action Queries", False(チェック外す) Application.SetOption "Confirm Action Queries", True(チェック付ける) です。 これを、標準モジュールにFunctionプロシージャで書いて、マクロのアクションで、 「プロシージャの実行」で選択すれば出来ます。
関連するQ&A
- Access2007のマクロについて
Access2007のマクロでやりたい事は・・・ 削除クエリと追加クエリを作り、このクエリを連続して処理をするために マクロ「クエリを開く」で作りました。 そうすると、そのマクロを実行すると削除クエリの「**件削除してよいですか?」という メッセージが出来ます。「OK」をクリックすると 次の追加クエリが処理されやはり「**件追加してよいですか?」というメッセージが出ます。 やりたい事は、いちいち「OK」をクリックするのが面倒なので、マクロを実行すると 「**件削除してよいですか?」というメッセージが出ないようにするにはどうしたら良いでしょうか? 分かりにくい質問で申し訳ございませんが、宜しくご教授の程お願い致します。
- ベストアンサー
- その他MS Office製品
- ACCESSのマクロに関しまして
お願いします。 ACCESS97で追加クエリを作成し、その後自動起動にしようと思い、マクロで追加クエリを項目に入れマクロを作りました。 マクロを作成する際に、モジュールでレコード追加するテーブルを一度削除しようと思い、「DELETE文」でモジュールを作成し、マクロの追加クエリの前に「プロシージャの実行」でモジュールのプロシージャを実行するようマクロに記述しました。 <マクロ内容> (1)「プロシージャの実行」 (追加クエリで追加するテーブルの中身をDELする) (2)「クエリを開く」 (追加クエリでレコード追加) この用に記述し、マクロ名を「AutoExec」で記述して、ファイルを実行してもマクロが起動しません。 (1)の「プロシージャの実行」までは、実行されているようなのですが(テーブル内確認)、以降の追加クエリが実行されません。 何か他の設定があるのでしょうか? お願い致します。
- ベストアンサー
- オフィス系ソフト
- アクセスのクエリを開く前にマクロを実行できますか?
フォームやレポートを開く前にマクロを実行できますが、同様のことをクエリを開く前にもする方法はないでしょうか? 具体的には、いくつかのテーブル作成クエリと追加クエリをまとめて行うマクロを実行してから、選択クエリを開きたいのです。 「SQLビューで1行加えるだけ」みたいなのができると助かります。 よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- accessマクログループの全マクロの実行方法
お世話になります。 現在、顧客のデータベースを作成しております。DBは名前、住所等の連絡先を入力したテーブルを元に下記のクエリやマクロを作成しています。取引がない顧客等はメイン名簿テーブルから削除して、メインテーブルの構造をコピーした、削除テーブルに入れるようにしたいと考えています。 そこで下記のテーブル、クエリ、グループマクロを作成しました。グループマクロは作成したクエリ3つで構成されています。各アクションクエリは一個一個は正常に作動するのですが、グループマクロを実行しますと、1行目のクエリしか実行されません。実行方法はマクロの画面で更新ボタンを押しても、フォームに削除というボタンを作成してクリック時にグループマクロを実行させるよう設定した場合の両方で起きます。 グループマクロに登録されているマクロを全て実行するにはどうしたらいいのでしょうか。色々調べると、グループマクロは1行目しか実行できないようですが、全て実行する簡単な方法はありませんか?できればVBAではない方法を希望します。大変お手数ですがどうぞ、よろしくお願い致します。 ・(テーブル)メイン名簿(以下、名簿tblとします) ⇒フィールド:名前、郵便番号、住所、電話、メモ欄、削除の有無、削除処理日 ・(テーブル)削除テーブル(以下、削除tblとします) ⇒フィールドは上記と同じ ・(更新クエリ)削除処理日追加 ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除処理日」に処理日が 入力されるようにdate関数を設定しています。(date()) ・(追加クエリ)削除tblへ追加 ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、「削除tbl」へそのレコードを、 追加する。 ・(削除クエリ)名簿tblからの削除 ⇒名簿tblの「削除の有無」フィールドにyesと入力されていれば、名簿tblからそのレコードを、 削除する。 ・(マクログループ)削除処理(上から順番に実行希望) マクロ名 アクション クエリ名 削除処理日追加 クエリを開く (更新クエリ)削除処理日追加 削除tblへコピー クエリを開く (追加クエリ)削除tblへ追加 名簿tblからの削除 クエリを開く (削除クエリ)名簿tblからの削除 以上
- ベストアンサー
- オフィス系ソフト
- Accessのクエリ実行について
すみません。ご存知でしたら、教えてください。 まず一点、基本(?)を確認させてください。 下記のように数個のテーブルとそれらを使用した数個のクエリがあったとします。 下記の場合に、もしどれかのテーブルを更新したとします。 その場合、アクセスを立ち上げて、クエリ3を実行するだけで、結果には反映されているのでしょうか?それとも、アクセスを立ち上げて、 クエリ1を実行し閉じ、クエリ2を実行し閉じ、最後にクエリ3を実行しないと、反映されていないのでしょうか? --------------------------------------------------------- テーブルリンクA 、テーブルリンクB、テーブルリンクC、テーブルリンクD ↓↓ テーブルAとテーブルBでクエリ1(マッチング)を作成 テーブルCとテーブルDでクエリ2(マッチング)を作成 ↓↓ クエリ1とクエリ2でクエリ3(マッチング)を作成 ------------------------------------------------- 続いて、もし上記でいちいち途中のクエリを実行しないと、 最後のクエリに反映されない場合、すべてをACCESSを立ち上げたと同時に自動実行し、自動で最後のクエリ(この場合、クエリ3)をエクスポートしたいと考えています。可能でしょうか? 素人な質問ですみません。 何卒よろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- テーブル1にマクロで再クエリはできないのか?
テーブル1があり、 マクロの新規作成で アクション:再クエリ コントロール名:テーブル1 を作り、 テーブル1を開き、マクロ1を実行しても 「コマンドまたはアクション'再クエリ’は無効です。」 となります。 コントロール名を"テーブル1" にしても同じです。 テーブルに対して再クエリは出来ないのでしょうか?アクセス2003です。 よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Accessの削除クエリについて
Access2000でODBCを使ってMySQLへリンクテーブルを作成しています。 このテーブルを元に削除クエリを作成し、実行すると DATA 800件で約3分程度かかってしまいます。 ネットで色々調べてみたのですが、 高速化の記事を見つけることができません。 クエリのプロパティでトランザクションの使用を"いいえ"に変えて みたりしましたが全く効果がありません。 削除クエリを高速化するには、どうしたら良いのでしょうか?
- 締切済み
- オフィス系ソフト
- 「yes」なら実行させて「no」なら実行させない仕組みをAccessのマクロで作れますか?
以前にも似たようなご質問をしましたが、回答して頂いた内容が私では解らなかったので再度させて頂きます。 “クエリ”を実行させる前に『「本当に実行しますか?」とメッセージを表示させて、「yes」なら実行させて「no」なら実行させない』という仕組みを「マクロ」で作れないのでしょうか? 私が作成した方法は マクロの 1行目 「アクション」のとこで「メッセージボックス」を選択し、アクションの引数「メッセージ」の箇所に「本当に実行しますか?」と入力。 2行目 「アクション」のとこで「クエリを開く」を選択し、アクションの引数「クエリ名」の箇所に「●●クエリ(任意のクエリ)」と入力。 そして保存します。 そのマクロを実行させても「本当に実行しますか?」のメッセージが出て、「OK」のボタンしか表示されないんです。 (当たり前なのかもしれませんが…) そしてその「OK」をESCキーで回避してもクエリが実行されてしまいます。 (当たり前なのかもしれませんが…) 上記の知識しかありません。どなたか柔らかくご説明して頂けないでしょうか?よろしくお願い致します。
- ベストアンサー
- オフィス系ソフト
- ACCESSで追加クエリを連続実行する方法
2012追加クエリ、2013追加クエリ、2014追加クエリ、2015追加クエリ、があります。 他に「追加クエリ」と名前に入る追加クエリはありません。 マクロで、「クエリを開く」→「2012追加クエリ」、「クエリを開く」→「2013追加クエリ」…としていけば連続実行できるのですが、これから先、2016以降の追加クエリも増える可能性があるので、クエリ名にワイルドカードを使って「*追加クエリ」とできないか試したところうまくいきませんでした。 やはりひとつずつ実行するしかないのでしょうか? よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- アクセス97マクロ:テーブルデータ削除の条件設定方法について教えてください。
どうぞ教えてください。 毎月仕事上である処理が終わった後に、いくつかのテーブルのデータの一部を削除する作業があり、これをマクロで自動的に処理できるようにしようと考えました。 そこで、最初は削除したいテーブルごとに削除クエリを作り、Where条件として削除したいデータの年月を尋ねるようにし、これをマクロで「クエリの実行」として複数の削除クエリを一気に実行してまとめて処理しようとしました。 上記でも処理はうまくいきます。 ただ、もしクエリを使わずにマクロだけでこのような処理が可能なのであれば、クエリの数も減るため、できればそうしたいと考えています。 その場合、マクロデザイン画面で「テーブルを開く(テーブル名入力)」→「レコードの選択」→「削除」とすれば削除はできると思うのですが、全てのレコードを削除するわけでなく条件に合致する一部のデータだけ削除したい今回のような場合、Where条件(年月)をマクロ上で尋ねるor設定するにはどうしたらいいでしょうか?
- ベストアンサー
- オフィス系ソフト