• ベストアンサー

複数テーブルの検索につてい

Accessの業務で非常に困っています。 元々はテーブル設計のミスにあるのですが・・・ 現在50営業所程の顧客データがあるのですが、管理が1営業所毎に1テーブルなのです。 全てのテーブルから、今回東京都に住んでいるお客様のみを抽出したいのですが、 1テーブルづつクエリで見るのはとても面倒です。複数テーブルを簡単に調べる方法はありますか? また、今後の運用も考えてこれらのテーブルを1テーブルにしたいのですが、どのようにすればいいでしょうか?

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

  • ベストアンサー
  • toshi_2000
  • ベストアンサー率30% (306/1002)
回答No.1

>複数テーブルを簡単に調べる方法はありますか? ユニオンクエリーを使ってください。 >今後の運用も考えてこれらのテーブルを1テーブルにしたいのですが、どのようにすればいいでしょうか? テーブルに営業所をフィールドを追加して、一つのテーブルにしたらどうでしょう。

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

関連するQ&A

  • 複数テーブル、または、フォームからの曖昧検索

    お世話になっております。 今、業務でACCESSを使ってデータベースを構築しているのですが、検索の部分で分からなくなりました。 それは複数のテーブル「テーブル1」「テーブル2」「テーブル3」とあった場合に、それぞれのテーブルに存在する「電話番号」フィールドを検索して、ヒットしたものを抽出するといった処理です。 また、上のテーブルにはそれぞれフォームも存在しております。 おそらく、各テーブルをループか何かでまわして、ヒットしたら表示という感じで処理をさせるのだとは思うのですが、プログラミングの方をどうしたらいいのか分からなく困っております。 どなたか、ご教授くださいませm(_ _)m

  • Access 複数テーブルをまとめる

    こんにちは! 過去記事を検索しましたが、該当がなく、苦戦しております… お知恵をお貸し下さいm(__)m テーブル T顧客…顧客ID(主キー)、名前、… T書類1…顧客ID(重複キー有)、書類1ID、… T書類2…顧客ID(重複キー有)、書類2ID、… T書類3…顧客ID(重複キー有)、書類3ID、… T書類4…顧客ID(重複キー有)、書類4ID、…  ・  ・  ・ その他に複数同じような構造のテーブルがあります。 テーブル内には他に様々なフィールドがありますが、同一内容の結合できるフィールドは上記のみです。 上記のテーブルですべての書類IDを取ってきたいのですが、 全テーブルを顧客IDと結合し、選択クエリで抽出すると      顧客ID | 名前 | 書類1ID | 書類2ID | 書類3ID | 書類4ID  1  |  Aさん |  10  |  5 |  20  |  26  1  |  Aさん |  10  |  30 |  20  |  25  1  |  Aさん |  10   |  4 |  20  |  26  1  |  Aさん |  10   |  6 |   20  |  25  2  |  Bさん |  30  |  13 |  25  |  5  2  |  Bさん |  30   |  10 |  26  |  5  2  |  Bさん |  30   |  13 |  26  |  5  2  |  Bさん |  30  |  10 |  25  |  5 のような値が出てきてしまいます…当たり前の結果ですが… やりたいこととして、 (1)一つのテーブルかクエリで抽出 顧客ID   名前   書類1ID   書類2ID   書類3ID   書類4ID  1     Aさん   |  10  |  5  |  20  |  26               |     |  30  |     |  25               |     |  4               |     |  6    2     Bさん   |  30  |  13  |  25  |  5               |     |  10  |  26   のように重複をなくし、 (2)更にまとめたものにしたいです。 顧客ID   名前   書類1ID   書類2ID   書類3ID   書類4ID  1     Aさん     10     5,30,4,6     20     25,26  2     Bさん     30      10,13     25,26     5 最終的に上記にまとまったものをフォームにして、顧客IDごとに抽出し、 顧客ごとの各書類のIDはこれとこれですよ!みたいにしたいのです! 説明が下手で申し訳ありませんm(__)m Access初心者で、独学でコツコツやっているので、知識が乏しいです… 調べてみるとユニオンクエリとかでできるような記事はありますが、 SQL文なども理解ができずに苦戦しております… お手数ですが、ご教示の程 よろしくお願い申し上げます。

  • ACCESSで複数テーブルのクエリ抽出

    ACCESSで複数テーブルのクエリ抽出 初めて投稿させてもらいます。 テーブル1・・・社員ID(主キー)、氏名 テーブル2・・・社員ID(重複キー有)、顧客ID テーブル3・・・社員ID(重複キー有)、得意先ID テーブル4・・・顧客ID、顧客氏名 テーブル5・・・得意先ID、得意先 上記のテーブル内容を1つのクエリで全部抽出するとき、 テーブル1の社員ID[a]とテーブル2の社員ID[a] と テーブル1の社員ID[a]とテーブル3の社員ID[a] を分けて抽出する方法ってありますか? クエリの結合プロパティで テーブル2の全レコードとテーブル1の同じ結合フィールドと テーブル3の全レコードとテーブル1の同じ結合フィールドにすると 「あいまいな外部接続が含まれているのでSQLを実行出来ません」とエラーになり、 テーブル1の全レコードとテーブル2の同じ結合フィールドと テーブル1の全レコードとテーブル3の同じ結合フィールドにすると 社員ID[a]、顧客ID[1]、得意先ID[α]、顧客氏名[吉田]、得意先[○○商事] 社員ID[a]、顧客ID[1]、得意先ID[β]、顧客氏名[吉田]、得意先[△△金融] みたいになってしまうのです。 やりたい結果は 社員ID[a]、顧客ID[1]、得意先ID["空欄"]、顧客氏名[吉田]、得意先["空欄"] 社員ID[a]、顧客ID["空欄"]、得意先ID[β]、顧客氏名["空欄"]、得意先[△△金融] 説明下手ですいませんが、ご教授の程よろしくお願いします。

  • 複数のテーブルに対して・・・

    過去に同様の質問があったかも知れませんが、Accessのバージョンがかなり古いので質問させて下さいね。 Access97(すみません、ホント古くて…)で、下のような顧客情報管理ファイルを作成しました。 テーブルA<→フォームA> ・顧客ID(主キー: テキスト型) ・氏名 ・情報A1, A2~ ・入力フォームB~への移動ボタン(同一IDレコードの表示) テーブルB<→フォームB> ・顧客ID(主キー: テキスト型) ・情報B1, B2~ テーブルC<→フォームC> ・顧客ID(主キー: テキスト型) ・情報C1, C2~ 最初からテーブルA~Cを結合したものを作ればよかったのですが、 それぞれのテーブルについて細かい入力項目が30~40個あるため、 分割して作成してしまいました(そして今後もテーブルは増える可能性大です)。 現在、テーブルAにだけ、20人分のデータが入っています。 今後も顧客数やテーブルが増える予定なのですが、 その都度テーブルごとに顧客IDをいれるのが面倒になってきました。 そこでお訊ねしたいのですが、テーブルA(を元にしたフォームA)に顧客IDを入れると、 テーブルBやCにも同じテキストが入力されるような設定は可能でしょうか。 最初、クエリーで連結しようとしたのですが、 既にテーブルAにいくつかデータが入っているせいか、どうも上手く反映されません。 単に私の参照方法が下手だったからかもしれませんが…。

  • ACCESSで複数のテーブルで同じ内容の行を抽出

    いつもお世話になっておりあます。 ACCESSのクエリ作成でお聞きしたき件ありまして、 投稿させていただきました。 下記の様な商品購入テーブルA・Bで ・・・テーブル定義・・・ テーブルA 顧客ID 商品名 テーブルB 顧客ID 商品名 ・・・入力データ・・・ テーブルA 顧客ID 商品ID 0001  あめ 0002 コーラ 0003  せんべい テーブルB 顧客ID 商品ID 0001  おかし 0002 コーラ 0003  わたあめ ・・・・・・・・・・・ とのテーブルにて テーブルAとテーブルBの同じ状態の行 0002 コーラ を抽出するには、どのようなクエリを作成すればよろしいのでしょうか? 見当がつかず、こまっております。 どなたか、御対応いただけますと、ありがたいです。

  • クエリで複数回抽出

    ACCESSでパラメータクエリであるテーブルから複数回抽出をする時、[]OR[]OR・・・とやってますが この場合だと抽出回数が決まっていないと[]をつくった分空打ちしないといけないので面倒です。 他にいい方法はありますか?教えてください。 質問がわかりづらくてすいません

  • 複数のテーブルの重複データを抽出するには

    現在 テーブル T_2011,T_2010,T_2009 の3つのテーブルがあり、それぞれには同じ形式の顧客情報が入っています。 例えば 顧客id,氏名,住所 この時、 T_2011には2011年に購入履歴のある方 T_2010には2010年に購入履歴のある方 T_2009には2009年に購入履歴のある方 のデータが入っております。 そこで、毎年購入がある方を抽出したいのですが どうすれば可能でしょうか? もちろん1つのテーブルに集めて、重複チェックをすれば 出るのですが、今後テーブル数が増えたり、2011年と2090年に 購入のある方など様々な形での抽出をする可能性があるため クエリなどを利用し一発で抽出する方法があればと考えて おります。 もちろん検索等を行い似たような例はあったのですが ちょっと理解ができなかったためご質問させて頂きました。 宜しくお願いいたします。 重複チェックのキーは、顧客IDとなります。 環境は、windowsXP、access2000となっております。

  • 複数テーブルから必要とするテーブルを捜す

    質問します。 月ごとに同じ構成のテーブルが複数あります。(テーブル名はテーブル1-1、テーブル1-2など・・・10以上)この中から該当する月のテーブルを探し出し、ヒットしたテーブルを元にクエリを実行したいのです。クエリはテーブルの数だけ作成しましたが、すべてのクエリを実行したのでは時間が掛かりすぎます。テーブルの1レコード目だけ読んで該当テーブルを捜す方法ってないでしょうか?該当月はフォームよりユーザに入力させる形式を取りたいと考えています。アクセスVBAでお願いします。 よろしくお願いします。

  • 抽出条件に応じてテーブルを作り分ける方法

    抽出条件テーブル(a)があり、抽出条件が参照するテーブル(b)がある。(a)には複数の抽出条件が登録され、(a)を参照しつつ、(b)から抽出されるテーブル(c)を抽出条件に応じて複数作成したい。つまり、(a)に登録された抽出条件の数だけテーブル(c)が作成される。 これをクエリで実行できる方法をご教示願いたい。 なお、(b)からデータを抽出する場合、上記の抽出条件テーブル(a)に代えて、クエリ内に抽出条件を20~30個記述する方法でも可。 Access2010を使用しています。VBAは使用しません。

  • Accessでテーブルのリンクを新規テーブルに保存

    ExcelのデータをAccessのテーブルでリンクしています。 そのデータをクエリで必要なレコードだけを抽出します。 抽出したデータのみを新規テーブルとして保存したいんですが、保存の仕方がわかりません。 Access2000です。 どうかよろしくお願いします。

専門家に質問してみよう