Accessのクエリ実行について

このQ&Aのポイント
  • Accessのクエリ実行について教えてください。テーブルとクエリを使用して結果を反映する方法を知りたいです。
  • アクセスを立ち上げて、クエリを実行しても結果が反映されない場合があるのでしょうか?途中のクエリを実行しないと反映されないのでしょうか?
  • ACCESSを立ち上げた時に自動でクエリを実行し、最後にクエリ結果をエクスポートすることは可能でしょうか?
回答を見る
  • ベストアンサー

Accessのクエリ実行について

すみません。ご存知でしたら、教えてください。 まず一点、基本(?)を確認させてください。 下記のように数個のテーブルとそれらを使用した数個のクエリがあったとします。 下記の場合に、もしどれかのテーブルを更新したとします。 その場合、アクセスを立ち上げて、クエリ3を実行するだけで、結果には反映されているのでしょうか?それとも、アクセスを立ち上げて、 クエリ1を実行し閉じ、クエリ2を実行し閉じ、最後にクエリ3を実行しないと、反映されていないのでしょうか? --------------------------------------------------------- テーブルリンクA 、テーブルリンクB、テーブルリンクC、テーブルリンクD ↓↓ テーブルAとテーブルBでクエリ1(マッチング)を作成 テーブルCとテーブルDでクエリ2(マッチング)を作成 ↓↓ クエリ1とクエリ2でクエリ3(マッチング)を作成 ------------------------------------------------- 続いて、もし上記でいちいち途中のクエリを実行しないと、 最後のクエリに反映されない場合、すべてをACCESSを立ち上げたと同時に自動実行し、自動で最後のクエリ(この場合、クエリ3)をエクスポートしたいと考えています。可能でしょうか? 素人な質問ですみません。 何卒よろしくお願いいたします。

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

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.1

クエリと言うのはテーブルから値をとってくる方法が書かれているだけのものです クエリと言うデータセットがあるわけではありません 走らせるたびにその時のテーブルから値を取ってきます テーブルを更新後走らせれば更新は反映されます クエリを元にクエリを作った場合、もとのクエリを走らせなくても 最終段のクエリを走らせれば元になったクエリは裏で走ることになります

sav_moster
質問者

お礼

さっそくのご回答、ありがとうございます!!!! 大変たすかりました!! 現在、クエリのそのクエリのクエリのクエリぐらいにわたって、 クエリを作成しているのですが、一番最後のクエリのみ実行すれば いいということですね^^ ほんとうにありがとうございました!!!

その他の回答 (2)

noname#79209
noname#79209
回答No.3

ご質問のようにクエリを重ねている場合、そのクエリをデータソースを元にしたフォーム上からは、 直接元のなっているクエリに対してデータの更新や追加は出来ないのでは?と推察します。 クエリの元になっているデーブルのレコードセットを作成し、追加や更新をしている場合、 なしかしらのコマンドボタンで上記を行っているはずなので、その作業のプロシージャの最後に Me.Requery と書き加えれば宜しいかと... もし解らないのであれば、私のコメントは忘れてください。

noname#79209
noname#79209
回答No.2

フォームなどで、クエリを参照していた場合、 元のテーブルを更新しても、フォーム上のクエリは更新されません。 明示的にクエリに対して、「ReQuery」メソッドを走らせる必要があります。

sav_moster
質問者

お礼

ご回答、ありがとうございました!! 「ReQuery」メソッドとはどういう風に走らせるのでしょうか? 教えていただけますか?

関連するQ&A

  • Access2000でクエリーがうまく実行できません。

    Access2000で他のソフトのデータ(クライアントアクセスと呼ばれるODBCを使ってデータをリンクすることができるソフトです)からリンク しているテーブルを2つ使い、あるフィールドを結合させてクエリーを 作成し実行すると”オブジェクトが正しくありません・・・”というような メッセージが表示され、クエリーを実行することができません。 しかし、他のPCではそのクエリーを実行することができます。 実行できないPCでも2つのリンクしたテーブルは単体で中身を見ることが できますので、リンクがうまくいっていないというわけではないと思うのですが・・・。 ちなみにOSはWindows95を使用しています。 Access側で何か足りない機能があるのか、リンクしているソフト側の 問題なのか、またはその他に原因があるのかさっぱり検討がつきません。 何かよいヒントがございましたら、教えてください。

  • デザインビューで作成したクエリの実行

    よろしくお願いします。 環境  WindowsXP  Access2003  VB2005 以下の内容でAccessの準備をしました。  1.AccessでテーブルA,Bを作成。  2.テーブルAから条件に合ったデータを抽出する選択クエリC作成  3.選択クエリCとテーブルBの差分クエリDを作成  4.差分クエリDをテーブルBに追加する追加クエリEを作成 その後VBで以下のコードを実行すると途中でエラーにもならず終了するのですが Accessを開いてみても追加クエリEが反映されていません。 Sub test()   Dim Cnn As New ADODB.Connection   Dim Cmd As New ADODB.Command   Cnn.Provider = "Microsoft.Jet.OLEDB.4.0"   Cnn.Open("\\ファイルサーバー名\DB.mdb")   Cmd.ActiveConnection = Cnn   Cmd.CommandText = "追加クエリE" ← 反映されていない   Cmd.Execute()   Cmd = Nothing   Cnn.Close() : Cnn = Nothing End Sub Accessから追加クエリEを実行すると正常に反映されているのでAccessの 設定は合っていると思います。 また追加クエリEをAccessからパススルーを開いてSQLを直接”追加クエリEにコピペしても うまく動いてくれません。(反映されない) 何が間違っているのかご指摘ください。 よろしくお願いします。

  • アクセス テーブル、クエリーについて

     アクセスでソフト作成中です。そこで教えてほしいことがあります。 たとえば下記のように2つのテーブルがあります。 テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30          テーブル1の数値は固定します。そこで下記のようなクエリーを作成したいのです。 クエリー1 フィールドA フィールドB a1 10 b1 20 c1 30 テーブル2に数字を入れていくと テーブル1   テーブル2   フィールドA    フィールドB  a1       10  b1       20  c1       30           40 クエリー1 フィールドA フィールドB a1 40 b1 20 c1 30 このように数字が上書きされていくようなクエリーは作成できないでしょうか。(あくまでテーブル1の数値は固定、フィールドAとフィールドBにリレーションシップは設定されていない。) よろしくおねがいします。

  • Accessのクエリが編集できない

    Access2016で添付画像のようなクエリを作成しました。 しかし、そのクエリが編集できるようにならず困っています。 ・クエリDを削除して、テーブルA・B・Cだけにすると編集できるようになります。 ・クエリDを直接開くとクエリD自身は編集できます。 どうぞご指導ください。

  • Accessのクエリについて

    Accessの初心者です。 “クエリ”がよくわからなくて困っています。 (1)テーブルの情報を更新した場合、クエリも自動で内容が更新するのでしょうか? 複数のクエリがある場合、テーブル更新後すぐにアクセスを閉じて、次にアクセスを起動させた時はクエリの内容も更新されるか。 それとも、テーブル更新後に各クエリを実行しないと更新しないとでしょうか。 (2)クエリ実行後、表示されたデータの一部を書き換えて出力した場合、元のテーブルの内容も変更されてしまうのでしょうか。 教えてください。 どうぞよろしくお願い致します。

  • アクセスのクエリーについて

    テーブルが2つあってクエリーを作成したいのですが、 <テーブル1> 氏名  項目1  項目2  項目3 山田  A    B    C というテーブルが1つあって、それぞれの項目1~3のフィールド のA~Cに対して <テーブル2> 項目コード   項目名 A       あいうえお B       かきくけこ C       さしすせそ というテーブルとリンクさせ 氏名  項目1     項目2     項目3 山田  あいうえお   かきくけこ   さしすせそ とあらわれるように作成したいのですが、それぞれ項目1~3に対して リンクさせたいのが、「テーブル2」を使用します。 この場合今は同じ内容で「テーブル2」を3つ作成してそれぞれでリンク させていますが、数が多くなりすぎると「リンクが複雑すぎます」とはねられます。「テーブル2」1つでリンクさせる方法はありますか?

  • accessでテーブルのリンクでクエリに反映させる方法を教えてください

    accessでテーブルのリンクでクエリに反映させる方法を教えてください。 現在2つのエクセルデータを比較するクエリを作成したのですが、 比較するデータが大量にあり、テーブルのリンクでクエリに反映させたいのですが、 うまくいきません。 よろしくお願いします。

  • ACCESSのテーブル作成クエリについて

    お世話になっております。 以下の点について教えてください。 1.テーブル作成クエリで作ったテーブルの書式固定  クエリ実行後、テーブルは作成されるのですが、クエリで設定した書式が  反映されません(例:数値→標準→小数点以下3)。  クエリで設定した書式をテーブルに反映させる方法を教えてください。  現在は、テーブル作成クエリ実行後、いちいち、テーブルの書式を変更しております。 2.ユーザー設定モードでのオブジェクト移動  ・ACCESSをユーザー設定 & グループでフィルターの状態で使っています。  ・この状態でテーブル作成クエリとテーブル作成クエリ実行後に作成されるテーブルを   グループ分けして分類しておりますが、各グループにあるテーブル作成クエリを   実行すると、グループ内にあったテーブルが「割り当てられていないオブジェクト」に   移動してしまいます。  テーブルをグループ内に固定する方法を教えてください。 よろしくお願いします。 

  • アクセスのクエリ作成について

    下記のようなテーブルとフィールドがあるとします。 Aテーブル  会社名 分類 都道府県 住所 HPアドレス  Bテーブル  担当者 部署 電話 メールアドレス Cテーブル  受付番号 分類 Dテーブル  受付番号 分類 ここでAテーブルの都道府県で一致するデータを抽出し、 下記のフィールドを表示するクエリを作成したいと思っています。 A 会社名 分類 都道府県 住所 HPアドレス B 担当者 部署 メールアドレス 電話 C 受付番号 D 受付番号 クエリを作成し実行しましたが、何もデータが出てきません。 全フィールド入力していないと抽出できないのでしょうか。 中にはHPアドレス等がない場合もあるのです。 すみませんが、どなたか教えて下さい。 よろしくお願いします。

  • <<ACCESS2000>>マクロでクエリを連続実行したいのですが、、、

    宜しくお願いします。 複数のクエリを連続実行させる為にマクロを使ったのですが、 クエリを実行する際、たとえば、テーブル作成クエリーだと実行前に「現在あるテーブルを削除していいか?」や、 実行後に「何件作成しました」などというボックスが表示された際、自動的に「OK」をクリック できるようにしたいのですが、どのようにすればよいのでしょうか? 教えてください。