• ベストアンサー
  • 困ってます

Accessでの抽出について

Accessで下記のようなテーブルがあるとします。 フィールド1  フィールド2  フィールド3 ----------------------- Aさん      20       200 Aさん      10       180 Bさん      10       300 Cさん      10       250 Cさん      30       310 条件1・・・フィールド2が「20」 条件2・・・フィールド3が「200」 この条件が当てはまる、フィールド1のデータはすべて抽出というふうにしたいのですが・・・。 (上記のテーブルでは、1件目と2件目のレコードがあてはまります。) どのようにして抽出したらよいでしょうか?よろしくお願いします。 Access2000を使用します。

共感・応援の気持ちを伝えよう!

  • 回答数5
  • 閲覧数176
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.4
  • yoisho
  • ベストアンサー率64% (331/516)

サブクエリーを使えば可能かな? 具体的にはこんな感じ、 (クエリーをSQLビューにして、記述してください。) SELECT テーブル名.フィールド1, * FROM テーブル名 WHERE テーブル名.フィールド1 In (SELECT テーブル名.フィールド1 FROM テーブル名 WHERE テーブル名.フィールド2=20 AND テーブル名.フィールド3=200;); フィールド1 の値が In 以降のカッコ内のクエリーで抽出される値に含まれるレコードを抽出しています。 詳しくは、HELPでサブクエリーを調べてみてください。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました。 参考になりました。

その他の回答 (4)

  • 回答No.5
  • O_cyan
  • ベストアンサー率59% (745/1260)

横レスで失礼します。 >条件が2つあって、フィールド2とフィールド3の値が >その条件をみたしている場合 クエリで簡単に抽出できます。 #2の方のいうようにすれば出来ますよ。     フィールド1  フィールド2  フィールド3    ----------------------- 抽出条件:        =20      =200 抽出条件の同じ段に条件を書けばフィールド2が20でかつフィールド3が200のレコードを全て抽出できます。 Aさんのみ抽出したい場合はフィールド1に=Aさん で Aさんのレコード中でフィールド2が20でかつフィールド3が200のレコードを全て抽出できます。

共感・感謝の気持ちを伝えよう!

  • 回答No.3
  • creep03
  • ベストアンサー率41% (12/29)

#1に補足します。 抽出したいのは フィールド2に20、フィールド3に200を持つ人がいたら その人のレコード全て そういうことですよね?

共感・感謝の気持ちを伝えよう!

質問者からの補足

そうです。 説明が悪くてすみません。 クエリでできますか?

  • 回答No.2
  • imasyu
  • ベストアンサー率36% (19/52)

>上記のテーブルでは、1件目と2件目のレコードがあてはまります。 ということは 条件1・・・フィールド2が「20以下」 条件2・・・フィールド3が「200以下」 ということですね。それともレコードとフィールドを取間違えてます? クエリを使用すれば簡単です。 1.クエリのデザインビューを使ってクエリを作成するを選択 2.目的のテーブルを選択 3.使用するフィールドを追加する 4.抽出条件を指定する(下記参照)      フィールド1  フィールド2  フィールド3      ----------------------- 抽出条件:        <=20      <=200 このようなクエリでいいのではないでしょうか Aさん 20 200 だけを取り出したい(おそらくこちらが正解)ときは抽出条件の < をはずしてください

共感・感謝の気持ちを伝えよう!

質問者からの補足

すいません、わたしの説明が悪かったようです。 フィールド2、フィールド3の値は数字じゃなくてもいいのですが、 とにかく、条件が2つあって、フィールド2とフィールド3の値が その条件をみたしている場合のAさんのデータを すべて抜き出すという意味です。

  • 回答No.1
  • creep03
  • ベストアンサー率41% (12/29)

フィールド2が20 フィールド3が200 のフィールド1を表示するクエリを作成し、 例題のテーブルに紐付けてあげればいいんじゃないでしょうか。

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • Accessクエリの抽出条件

    Access2000を使用しています。 クエリの抽出条件にテーブルの値を使用したいのですが、その方法がわかりません。 テーブルAには、「日付」、「当者コード」 などの項目があります。 テーブルBの項目は「担当者コード」のみです。また、1レコードしか登録 されていません(2レコード以上になることはありません)。 そこで、テーブルAに対するデータ抽出条件を、テーブルBの「担当者」としたいのですが、 どのように記述すればよろしいでしょうか・・・? よろしくお願いします。

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

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

  • Access コンボボックスを使って抽出

    Access2000・Windows2000を使用しています。 レコードの抽出をしたいと思います。テーブルは1つ、フィールドには日付・商品名・業者名・単価・・・とあります。フォームで「商品名から抽出(コンボボックスから商品を1つ選ぶ)」または「業者名から抽出(コンボボックスから業者を1つ選ぶ)」(コンボボックスから商品を1つ選ぶ)出来るようにし、なおかつ今月のレコードのみ表示させたいのですが、まずそのテーブルを1つ作成した時点でつまづいてしまっています。 どなたかご教授お願いします。

  • ACCESSデータベースで

    テーブルのフィールド内容は全く同じだとして、ACCESS97で作ったデータベースのテーブルに、ACCESS2000のテーブル(データ)をインポートすることは可能でしょうか。

  • Access 選択クエリーの抽出条件

    Access2000を使っています。 選択クエリーの抽出条件にテーブルの値を設定することは可能でしょうか? たとえば、テーブルAに対して、抽出条件をテーブルBのデータでコード番号 ”B*”(コード番号にBのつくもの)を抽出したいのですが・・・。 よろしくお願いします。

  • Access 抽出条件を自動で入力したい

    お世話になります。 マクロもVBAも現在鋭意勉強中の初心者ですが、よろしくお願いします。 取引先から送られてくるテーブルの、とあるフィールドにいつも不要なデータが入っています。 作業は、その不要なデータの削除から取り掛かるのですが、これが何気にめんどくさくて 自動化できないものかと、今回、質問させていただきます。 結果として、       フィールド1 フィールド2 フィールド3 フィールド4 抽出条件        like "a*" または           like "b*"               like "c*"               like "d*"               like "e*" ↑のような状態に、マクロないしVBAを使用し、抽出条件に、上記の文字列を自動で入力することは可能なのでしょうか? また、可能ならばどのようにすればいいのでしょうか? テーブルのフィールド数は毎回違いますが、 フィールド2に不要なデータが入っているのは決まっています。 フィールド2のデータ型はテキスト型です。 Access2007を使用しています。 どうぞ、よろしくお願いします。

  • ACCESSのフィールドのデータを無重複に抽出する

    お世話になります。 ACCESS2000を使用しています初心者です。 あるフィールドに入力されているデータを無重複に抽出したいのですが、簡単で良い方法を教えて下さい。 エクセルでの無重複抽出はできるのですが、データ数が34万件くらいあり、推測される結果は2万件くらいになります。 例) 商品 A B C A B D C 結果 A B C D よろしくお願いします。

  • Accessチェックボックス 一度で複数のチェックを入力

    会社でAccess2000を使用しています。 ExcelからAccessテーブルへインポートしたデータで、 チェックボックスがあるフィールドがあります。(フィールド名は「請求済」です) レコードが数千件あり、1ヶ月ごとに何百単位で請求の有無を確認をしなければなりません。 複数のチェックボックスへ、一度でチェックを入力する方法はありますか? ちなみにAccessは初心者で、マクロやVBAはやったことがありません。

  • ACCESS2000でのレコード抽出

    OS:WindowsXP ACCESS2000 あるフィールドの値が最大となるようなレコードを選択クエリで 抽出しようとしているのですがうまくいきません。 テーブルのフィールドは4個あります。 テーブル [系列] [優先度] [データ1] [データ2] ここで各系列ごとに優先度が最大となるレコードのみを 抽出したいのです。 系列、データ1、データ2は重複がありえます。 優先度は系列を跨いだ重複はありますが、 同系列内での重複はありません。 レコードの例) 1:系列A 優先度1 データA データB 2:系列A 優先度2 データC データD 3:系列B 優先度1 データE データF 上記の例で言いますと、レコード2:とレコード3:のみを 抽出するクエリを作成したいのです。 集計クエリで優先度のフィールドを「最大」にしても、 3つのデータ全てが抽出されてしまいます。 どなたか解決策をご教示ください。

  • ACCESSで

    ACCESS2000で フィールド1に日付フィールド2以降にデータが入っています。 日付は2005/12/16 14:14:00と入力されています。 毎日2:00:00、5:00:00、10:30:00、11:00:00、16:30:00、17:00:00、20:00:00、23:00:00のデータを抽出したいのですがどうすれば良いでしょうか? 70000件程あるので簡単に出来る方法があれば 教えてください。