Accessで複数フィールドの一致を抽出する方法

このQ&Aのポイント
  • Accessを使用して、複数のフィールドの一致するデータだけを抽出する方法をご教授ください。
  • テーブル1とテーブル2のデータを比較し、氏名と作業日が一致するデータを抽出する方法を教えてください。
  • リレーションが氏名だけであるため、日付の一致を考える必要があります。Accessのバージョンは2003です。
回答を見る
  • ベストアンサー

Access 複数フィールドの一致

よろしくお願いします。 次のような2つのテーブルがあります。 <テーブル1> (氏名データは全員分あり、担当日の内容と数はそれぞれ違う) 氏名  担当日 ・・・・・・・・・・・・ AAAA  10/11   (省略) AAAA  10/12 AAAA  10/18 BBBB  10/11 BBBB  10/16  :     : <テーブル2> (データが複数の人もいるし、出てこない人もいる) 氏名  作業日 開始時刻  ・・・・・・・・・・・・・・・ AAAA  10/12  8:00     (省略) AAAA  10/13  8:30 CCCC  10/16  9:30  :     : テーブル2の[氏名][作業日] がテーブル1の[氏名][担当日]と一致するデータだけ抽出します。 つまりAAAAさんの10/12は必要ですが、AAAAさんの10/13は不要です。 データ表示はテーブル2内でも、別テーブル(orクエリ)でもOKです。 単純に思えるのですが、リレーションが氏名だけだと、日付は?と考えてしまいます。 ちなみにバージョンは、2003です。 ご存じのかたがいたら、ご教授願います。

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

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

No1です。回答の >のフィールドはテーブル2の[氏名] >[作業日]のフィールドを選択します。 の部分はすべてテーブル2のフィールドの選択、としておいて ください。

tanya_omo
質問者

お礼

piroin654さん お礼が遅くなって、失礼いたしました。 心よりお詫びいたします。 piroin654の回答で解決でき、大変助かりました。 本当にありがとうございました。

その他の回答 (1)

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

この場合は、どちらのテーブルのフィールドを 指定しても同じことではありますが。 >テーブル2の[氏名][作業日] がテーブル1の[氏名][担当日] >と一致するデータだけ抽出します。 ということですので、クエリのデザインビューに 二つのテーブルを表示し、テーブル1とテーブル2の [氏名]を結合線で結び、テーブル1の[担当日]と テーブル2の[作業日]を結合線で結びます。 クエリのフィールドはテーブル2の[氏名] と[作業日]のフィールドを選択します。

関連するQ&A

  • アクセス フィールド値を分割したい

    いつも大変お世話になっております。 初心者につき、ご教示いただけますと幸いです。 アクセスのテーブル・フィールドに AAAA,BBBB,CCCC という値が入ってしまうため 「,」を区切りに分割したいです。 テーブル:T_商品 フィールド: 顧客ID|注文内容(連結で入ってしまうフィールド) 0001|AAAA 0002|AAAA,BBBB 0010|AAAA,BBBB,CCCC 0101|AAAA,BBBB,CCCC,DDDD,・・・ といったように、連結した値の数はまちまちで、 最大10個になります。 ちなみに、 これを ↓フィールド名 顧客ID|注文商品   に 0001|AAAA 0002|AAAA 0002|BBBB 0010|AAAA 0010|BBBB 0010|CCCC  ・  ・  ・ といったように、 最終的には 1つのフィールドにまとめたいです。 ご教示のほど、よろしくお願い致します。 尚、前半の「連結値を分割」だけでも テーブル更新(分割毎にフィールドに挿入)できれば、とても助かります! →この場合、予備フィールドなどを作成しておくか、  ワークテーブルなどで処理になりますでしょうか。 是非とも、よろしくお願い致します。

  • ACCESSにて2つのテーブルの比較

    2つのテーブルA,テーブルBがあります。テーブルBのデータ以外のデータを選ぶにはどうのようにすれば良いのでしょうか? テーブルA data--- aaaa bbbb cccc dddd aaaa cccc テーブルB data--- aaaa bbbb 欲しい結果 テーブルA data--- cccc dddd cccc よろしくお願い致します。

  • ACCESSのフォーム上に連番番号を表示したい

    お世話になります フォームは単票型でなく、表型です↓ 例 1 aaaa1 bbbb1 cccc1 2 aaaa2 bbbb2 cccc2 3 aaaa3 bbbb3 cccc3 aaaa1等、右側はテーブルからデータを表示しています この、左の1,2,3、は単なる、表示で関連付けるデータは ありません この単なる1,2,3、はどのようにだすのですか よろしくお願いします

  • access で 方法を教えてください。

    access で 方法を教えてください。 テーブルは セミコロン区切りで、区切られて表示されています (テーブル例)  1 aaaa;bbbb;cccc;dddd;eeee;ffff 2000byte 2 aaaa 300byte 3 bbbb;cccc;ffff 3000byte 4 ffff;dddd 120byte このセミコロン区切りの区切られたデータの 「件数」と「バイト」を表で表示させる方法を教えて欲しいのです。 上記テーブル例を使用しての(抽出例)  抽出条件    ↓   aaaa 2件 2500byte   bbbb 2件 5000byte  cccc 2件 5000byte   dddd 2件 2120byte   eeee 1件 2000byte   ffff 3件 5120byte 宜しくお願いします。

  • ACCESS初心者です。

    初歩的な質問ですが、宜しくお願いします。 クエリを作成したいのですが テーブルに以下のようにデータが入っています。 区分  名前 S   AAAA H   AAAA S   BBBB H   CCCC Sしかなければ、Sを SとHのデータがあればSを、 HしかなければHを 抽出する場合、どのように抽出条件を設定すればよいでしょうか? 重複した場合S優先で 以下のようなテーブルを作成したいです。 区分  名前 S   AAAA S   BBBB H   CCCC まだACCESSを初めて間もないのです。 勉強不足ですいませんが、宜しくお願いします。

  • SQLでの条件抽出方法の記述

    はじめまして。 今回、SQLである条件を絞りたいのですがその方法がいまいちピンと来ず、思考錯誤しております。 例えばですが… テーブルにCD,DATA,YMと定義します。 条件としては、 ・MAXを使わずに、YMという値の個々別の最新のもの ・同じCDは重複しない1件のみ(DISTINCT?) ・表示するのはCDとDATAのみ ・(下図で言うと)DATAは0402~0405まで(BETWEEN?) 図で表すと、 CD DATA YM ---------------- 01 AAAA 0401 01 AAAA 0402 01 AAAA 0403 01 AAaa 0404 01 AAaa 0405  ←01の最新 02 BBBB 0402 02 BBBB 0403  ←02の最新 03 CCCC 0402 03 CCCC 0404 03 cccc 0405  ←03の最新 03 cccc 0406  ←これは期間外    ↓ CD DATA YM ---------------- 01 AAaa 0405 02 BBBB 0403 03 cccc 0405 このように抽出したいのですが、良い書き方はあるでしょうか?

  • Access Union について

    下記2テーブルがあります。 テーブル1 品番   1月合計 AAAA   1111 BBBB   2222 CCCC   1122 EEEE   3211 テーブル2 品番   2月合計 AAAA   1211 BBBB   3222 CCCC   1522 DDDD   2223 UNIONのSQL文で下記のような結果を得たいです。 品番   1月合計  2月合計 AAAA   1111    1211 BBBB   2222    3222 CCCC   1122    1522 DDDD         2223 EEEE   3211 SQL文をどのように書いたらいいですか。ご教授,お願い致します。

  • Accessで BテーブルのフィールドをAフールドに書き換えたい。

    初心者ですが宜しくお願い致します。 Aテーブル →[氏名],[名前] Bテーブル →[氏名],[結婚後氏名] (1)上のようなテーブルがあります。クエリで、AテーブルとBテーブルの[氏名]フィールドをキーにしてリレーションを組み、A,Bテーブルのフィールド全てを表示させます。 (2)(1)で抽出されたデータだけ、Aテーブルの[氏名]フィールドをBテーブルの[結婚後氏名]フィールドに書き換えたいのですが・・・・ なにかよい方法はありますでしょうか。 詳しい方、教えてください。 宜しくお願い致します。

  • 連結したフィールドでグループ化し、他のフィールドの最大値のレコード全体を抽出

    図面管理のデータベースをつくっています。 連結したフィールドでグループ化し、他のフィールドの最大値のレコード全体を抽出したいのですが どのようにしたらいいのでしょうか? いろいろ調べたのですがなかなかよい結果が出ません。 お知恵をおかしください。よろしくお願いします。 mysqlバージョン:5.0.45 例 テーブル:a(図面管理) a_id(id) a1(図番) a2(種類用紙サイズ) a3(枝番) a4(図面名) a_id a1 a2 a3 a4 1   1 3P 0 aaaa 2   2 3P 0 bbbb 3   2 3P 1 bbbb 4   1 4P 0 cccc 5   1 4P 1 cccc 6   1 4P 1 cccc このテーブルのa1とa2を連結します。(連結フィールド:ren) a_id a1 a2 a3 a4  ren 1   1 3P 0 aaaa 13P 2   2 3P 0 bbbb 23P 3   2 3P 1 bbbb 23P 4   1 4P 0 cccc 14P 5   1 4P 1 cccc 14P 6   1 4P 2 cccc 14P 連結したもの(ren)をグループ化しますこのとき、枝番の値が高いレコードだけ抽出します。 a_id a1 a2 a3 a4  ren 1   1 3P 0 aaaa 13P 3   2 3P 1 bbbb 23P 6   1 4P 2 cccc 14P この最終的な結果を出す方法をお教えください。 おねがいします。

    • ベストアンサー
    • MySQL
  • [Excel]重複データの一方のセルが持つ値を一方の空白セルに反映させたい

    A列にある7000件ほどのデータの中から重複データのみを抽出し、 重複データの一方がB列に持つ値を、もう一方のデータのB列の空白セルに反映させたいのですが、方法はありますでしょうか? 「COUNTIF」を使って重複データの抽出はできますが、一方が持つデータをもう一方の空白に反映させることができません。 手作業では期限に間に合わない可能性がみえて焦っております。 恐縮ですがご教授いただけますでしょうか。 (例) [処理前] A列:B列:C列 1111:AAAA:aaaa 2222:BBBB:bbbb 3333:CCCC:cccc 1111:    :dddd 2222:    :eeee [処理後] A列:B列 1111:AAAA:aaaa 1111:AAAA:dddd 2222:BBBB:bbbb 2222:BBBB:eeee

専門家に質問してみよう