クエリで複数条件を同時に抽出・出力する方法

このQ&Aのポイント
  • ACCESSのクエリで複数条件を同時に抽出・出力する方法について解説します。具体的には、テーブルの入力ミスを抽出する方法に焦点を当てます。また、結果をリスト表(クエリかレポート)として出力する方法も紹介します。
  • 従来の方法では、クエリの条件に1つずつ科目と点数の条件を設定し、結果を抽出していました。しかし、同時に複数の条件を設定し、結果をまとめて取得することも可能です。
  • VBAとSQLのスキルを持つ方であれば、複数条件を同時に抽出し、結果をリスト表として出力することもできます。詳しい方法については、以下の解説をご覧ください。
回答を見る
  • ベストアンサー

クエリで複数条件を同時に抽出・出力する方法

お世話になります。 ACCESSのクエリであるテーブルの入力ミスを抽出したいと考えています。 例えば、氏名と科目と点数があるとします。 No.  氏名  科目  点数 -------------------------- 01 佐藤  国語   80 02 田中  国語   45 03 鈴木  国語   60 04 佐藤  数学   75 05 田中  数学   40 06 鈴木  数学   48 ここで抽出したい条件として、国語は59点以下、数学は49点以下の抽出をしたいとして、今まではクエリの条件に1つずつ科目と点数に条件を入れ1つずつ結果を抽出をしていましたが、同時に結果を得ることができますか?また、結果をリスト表(クエリかレポート)として出力できますか? 拙い文で申し訳ありませんが、分かる方いらっしゃいましたらよろしくお願いいたします。 (スキルとして少しで、ブランクもありますがVBA,SQLです)

  • AKI78
  • お礼率63% (70/110)

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

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.1

テーブル名を、T1 とした場合には SQL文では SELECT ID, 氏名, 科目, 点数 FROM T1 WHERE (科目 = '国語' AND 点数<=59) OR (科目 = '数学' AND 点数 <= 49) です。 クエリのデザインビューに切り替えても確認できます。 なお、フィールド名の 『No.』は適切ではないので 『ID』に変更しています。 http://office.microsoft.com/ja-jp/access-help/HA010030643.aspx

AKI78
質問者

お礼

最近SQL使ってないのでメリットも忘れそうでしたが、WHERE句とかはこういう場合便利でしたね! 親切に教えて下さり有難うございました!また機会がありましたらよろしくお願いいたします。

関連するQ&A

  • あるフィールドの最大値を条件にデータを抽出する方法

    Access97のVBAで開発を行っています。SQLでデータの抽出で、あるフィールドの最大値を条件に指定して抽出する方法を教えてください。最大値という曖昧な条件なため、悩んでいます。 (例)ある学校の成績テーブル(左から、学籍番号,組,氏名,性別,科目,点数) 0103,鈴木,男,国語,95 0103,鈴木,男,数学,40 0103,鈴木,男,英語,80 0104,高橋,男,国語,45 0104,高橋,男,数学,85 0104,高橋,男,英語,55 | |(SQLで各人の最高点のデータのみ抽出したい) ↓ (抽出結果) 0103,鈴木,男,国語,95 0104,高橋,男,数学,85 知っている方、是非教えてください。 お願いします。

  • クエリにおける複数値の抽出について

    クエリにおける複数値の抽出について access2007を使用しています。 テーブルA,テーブルBを元にクエリCを作成しました。 テーブルAには担当というフィールドがありますが,複数の値の入力を許可しており,テーブルBを値集合ソースとして設定してあります。 クエリCにおいて,以下のような抽出をしたいと考えています。 例えば, ID_所員ID_担当 001_B001,B002,B003_山田,佐藤,鈴木 002_B002_佐藤 003_B001,B002_山田,佐藤 において,所員IDの抽出条件のところにB002と入力すると,ID002のみが抽出されるといった感じです。 B002と抽出条件を設定すると,B002を含む全てのレコードが抽出されてしまいます。この場合ですと,ID001から003の全てのレコードが抽出されます。 担当のところで抽出条件を佐藤と設定し,さらに所員IDの抽出条件のところに,Len関数を使用して4文字以下とすれば…とも考えたのですが上手くいきません。 もし,良い方法があればご教示ください。

  • Access 複数の抽出条件

    Access2002 windows2000 (例)次のようなテーブルとします。 フィールド名:名前 年齢 性別 レコード1 :山本 30 男 レコード2 :鈴木 40 女 レコード3 :田中 45 男 レコード4 :森本 26 女 クエリを利用して抽出する時、年齢が40以上で男を条件とすれば (1)年齢フィールドの抽出条件:>=40 (2)性別フィールドの抽出条件:男 として、田中が抽出されます。 では年齢が40以上で男、そして女は全て抽出したい時は(1)(2)の条件はどの様にすればいいでしょう? 抽出結果が 田中、鈴木、森本となりたいのです。 複数のクエリを作れば出来ますが、1つのクエリでは無理なのでしょうか。

  • アクセス オプショングループで選択した条件を抽出

    先に条件を指定するフォームを作成します。 その条件の指定には、オプショングループを使います。 そのフォームに基づいたクエリを作成したいです。 例えば、国語・算数・英語 の中から一つを選択させるオプショングループを作成しておきます。 そこで選択された科目のみを抽出させるクエリを作りたいです。 (すでに氏名・科目・点数等入ったレコードソースはあります) クエリの抽出条件にはなんと入力すればよいのでしょうか。 どうぞよろしくお願いします。

  • アクセス クエリでの抽出で

    所属CD 契約NO   氏名  住所  01   001   佐藤  東京  02   002   山田  埼玉  03   003   鈴木  神奈川  01   004   新藤  新潟 上記のようなデータをクエリで所属CD毎に抽出したいのですが 抽出条件に所属CDをそれぞれ入力し個々に抽出するのではない方法で 所属CD別で抽出したいのですが何かありますでしょうか。

  • アクセスのクエリ、グループ化、複数条件

    お教えください。 次のようなデータを扱います。 氏名|試験日|科目|点数 AA|20110830|国語|100 AA|20110830|算数|60 AA|20110831|国語|80 AA|20110831|算数|80 BB|20110630|国語|90 BB|20110630|算数|100 CC DD ・ ・ 100点を取った日のデータに、新たにフィールドを作り、フラグを立てたいのです。(上記ではAAさんの20110830の算数のデータにも、BBさんの20110630の国語のデータにもフラグが立つように・・・) 下記のようなデータにしたい。 氏名|試験日|科目|点数|満点日 AA|20110830|国語|100|1 AA|20110830|算数|60 |1 AA|20110831|国語|80 |0 AA|20110831|算数|80 |0 BB|20110630|国語|90 |1 BB|20110630|算数|100|1 つまり、氏名と試験日が一致するもので、同じ日の点数に1つでも100が入っているデータを、ピックアップするためです。 クエリで 氏名と試験日をグループ化するところまでは行きましたが、1つでも100が入っている場合・・・というのができず。 よろしくお願いします。

  • Access:クエリの複数『or条件』抽出方法

    ・掲載ID ・掲載日 ・掲載者 ・内容 ・氏名A(YES/NO型) ・氏名B(YES/NO型) ・氏名C(YES/NO型) ・・・ 氏名O(YES/NO型) 上記のようなテーブルからクエリを抽出しようと思っています。 抽出条件を『氏名A』から『氏名O』が『False』であるものと設定したいのですが、 クエリの『または』の抽出条件欄が9つしかないのでどうしていいかわかりません。 複数(15項目以上)の『or(または)条件』を抽出する方法をご存知でしたらお教えください。

  • 何の為に「抽出条件」「または」が2段に分かれてる

    何の為に「抽出条件」「または」が2段に分かれてるのですか? アクセスの使い方がよくわからないので質問します。 ----------------------- テーブル1 苗字(フィールド) 田中 佐藤 伊藤 ・ ・ ・ ----------------------- クエリ1で フィールド:苗字 テーブル:テーブル1 並べ替え: 表示: 抽出条件:"田中" または:"佐藤" ----------------------- と入力して保存しクエリを一回閉じて再度開くと ----------------------- 抽出条件:"田中" Or "佐藤" または:(空白) ----------------------- になってしまいます。 意味は同じだと思うのですが 見た目上、2段のまま保存されたいのですが 自動でorを使われ一段で表示されてしまうのでしょうか? だとしたら何の為に「抽出条件」「または」が2段に分かれてるのですか? わかりやすくするために画像を添付します。

  • 条件抽出の方法について教えてください。

    以下の家族名簿から代表者だけ抽出するにはどうしたらよいのでしょうか?以下のテキストファイルの場合、1項目の番号が家族番号になります。 member.txt 1,山田太郎 1,山田花子 1,山田凛 2,田中一郎 2,田中桂子 3,佐藤圭太 3,佐藤洋子 抽出結果を、 山田太郎,田中一郎,佐藤圭太としたいのです。 以上、わかる方がいらっしゃればアドバイスお願いします。

    • ベストアンサー
    • CGI
  • ACCESS 複数フィールド下・同一条件でその都度条件を変えて表示したい

    初心者になりますので、基本的かもしれない質問をしますが、検索して見つからなかったので質問をさせて頂きたいと思います。よろしくお願い致します。 ACCESSでシステムを作成する途中で困っています。 複数のフィールドの同一人物のデータを、その都度条件を出して(リストボックス等で)フィールドに表示したいと思っています。 条件はあくまで「1つ」ですが、複数フィールドにまたがる条件の為、どのように表示をさせる方法があるのか迷っています。 データ元は、以下のようなクエリになっております。 【 データ元:クエリ1 】 コード   担当者(1) 担当者(2) 111   田中   佐藤  112   山田   田中 113   佐藤   鈴木 114   鈴木   山田  ・・・      【 表示 】  EX:「田中」を選択した場合 コード   担当者(1) 担当者(2) 111   田中   佐藤  112   山田   田中 ★ 田中が入力されているデータのみ表示する ★ ただし複数のフィールド下で検索する 今まではクエリの抽出条件に直接「田中」などを入力していましたが、数が増えた為その都度条件を入れないといけません。そこで、フォームで担当者を選択することによって、担当者の該当するデータを一発表示できるようにしたいと考えております。 勉強不足で方向性が見えていない状況です。よろしくお願い致します。