• 締切済み

Access 選択クエリでAND検索

現在、フォーム1にはリストボックスが3つあり、それぞれ食べ物の区分に分かれており、それぞれのリストボックスに食べ物の種類が表示されています。 区分は、麺類、肉系、ご飯系と分かれており、 それぞれの、ラーメン、冷やし中華、焼き肉、しゃぶしゃぶ、カツどん、カレーライス等と入力されています。 そして、それぞれのリストボックスで選択した項目は、[表示]ボタンを押すことでテーブル1に値が保存されるようになっています。 そして、現在、テーブル1には、下記のように、食べ物の種類が入力されています。 テーブル1 ---------- 焼き肉 ---------- ラーメン ---------- カレーライス ---------- そして、別のテーブル2には下記のように、マスターテーブルとしてそれぞれの名前と好きな食べ物の種類が入力されています。 佐藤|焼き肉|カレーライス 鈴木|ラーメン|カレーライス 田中|焼き肉|ラーメン|カレーライス (構造) 名前ID テキスト型 FoodID 数値型 (実データ) NameID FoodID 佐藤  1 佐藤  3 鈴木  2 鈴木  3 田中  1 田中  2 田中  3 上記のテーブル1とテーブル2を比較し、選択クエリで抽出させると、焼き肉、ラーメン、カレーライスを含む社員を抽出するため、佐藤、鈴木、田中の全員が抽出されてしまいます。 これを、焼き肉、ラーメン、カレーライスの3つすべてを好きな人を抽出させたいと思っています。 (結果は、田中となるようにしたいです。) ちょっと分かりづらいかもしれませんが、 上記のようにすべてを含む人を抽出させるにはどのようにしたらよいでしょうか? 宜しくお願いします。

みんなの回答

回答No.1

考え方としては、NameID単位で集計してFoodIDの合計が6となるレコードを取り出せばいいのではないでしょうか?

inthespace
質問者

お礼

それぞれのテーブルをカウントし同じカウント数を集計する形で処理したらできました!ありがとうございます。

関連するQ&A

  • accessである期間にいる人のクエリ抽出をしたい

    OFFICE2003 を使っています。 テーブルAで、それぞれのデータ入力日をもっています。 名前    入力日     ───────────── 井上さん  2007/07/01 鈴木さん  2007/08/01   渡辺さん  2007/08/22   佐藤さん  2007/09/03    ・  ・  クエリで、データ入力日「2007/08/01~08/31範囲の人」の条件で 抽出したいのですが、どうすればよいのかわからず困っています。 テーブルAで言えば、8月のデータ対象者だと、 鈴木さんと渡辺さんを抽出したいのです。 VisualBasicとかは、まだ勉強不足でわかりません。 よろしくお願いします。

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

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

  • Access vba 教えてください。 初心者です

    以下のような テーブルT_ソフトリスト、テーブルT_ソフト フォームF_入力 があったときに、フォームの使用者のコンボボックスに入力をしたときに、 T_ソフトから使用者を探して、ソフトリストIDを取得し、そのソフトリストIDを元にT_ソフトソフトのソフト名をフォームのコンボボックスに表示させるようにしたいのですが、 どの様なソースコードを書けばよいでしょうか? 「T_ソフトリスト」←テーブル ================================== ID  | ソフト名 | ────────────── 1   | A |  2  | B |  3  | C |  4  | D |  5  | E |  ================================== 「T_ソフト」←テーブル ================================== ID |ソフトリストID | 使用者 | ─────────────────── 1 |  4     | 佐藤  | 2 |  2     | 鈴木  | 3 |  5     | 斉藤  | 4 |  1     | 佐藤  | 5 |  3     | 田中  | ================================== 「F_入力」←フォーム ================================== 使用者  [コンボボックス]←Combo_UserType ソフト名 [コンボボックス]←Combo_User ==================================

  • ACCESS クエリの抽出項目をEXCELから

    Access2000のクエリの抽出項目をExcel2013の内容を抽出項目として指定するにはどうすればよいでしょうか。 Excelには、 佐藤 田中 鈴木 ......... のように縦に名前が最大18名分入っています。 この(最大)18名の名前をAccessの抽出項目とします(フィールドは10あってその6番目に抽出項目を18名分入力したいのです)。 18名を一人一人コピペしていたのですが、何とか簡素化できないものかな?と思っています。 できれば、マクロで一発で抽出項目を貼り付けたいのですが。 よろしくお願いします。

  • Access リストボックス複数選択を抽出条件に

    Access リストボックスで複数選択した値をクエリの抽出条件にしたいです。 ※PC環境:Win7 Access2007 Excel2007 リストボックスで複数選択した値を取得する事はできるのですが、 クエリ実行をすると結果が0件になってしまいます。 他の方のQAなどを参考に以下を作成しましたが、ほしい結果が得られず困っています。 おわかりになる方、ご教示いただけますようお願い致します。 <動作概要> 「画面」の「リストボックス」で複数選択し、 [実行]ボタンを押して、「リストボックス」で選択した値を、「テキストボックス」にセットし、 クエリの抽出条件に、in(テキストボックス)をセットし、テーブルから合致するデータを抽出したい <リストボックス> ※年区分テーブル参照 区分,区分名 1,1年 2,2~3年 3,4~5年 「2,2~3年」「3,4~5年」を選択 ※「区分」は数値型 <VBA> Private Sub 実行_Click()  Dim i As Variant  Me.テキストボックス = Null  For Each i In Me.リストボックス.ItemsSelected Me.テキストボックス = Me.テキストボックス & Me.リストボックス.Column(0, i) & "," Next If Me.テキストボックス <> "" Then  Me.テキストボックス = Left(Me.テキストボックス, Len(Me.テキストボックス) - 1) End If   'ここで画面を確認すると「テキストボックス」には、「2,3」 がセットされている DoCmd.OpenQuery "クエリ"   'テーブルには抽出条件に該当するデータがあるが、クエリ実行結果は0件 End Sub <クエリ SQL> SELECT テーブル FROM テーブル WHERE (((テーブル.区分) in([Forms]![画面]![テキストボックス]))); ※「テーブル.区分」は、数値型 どうぞよろしくお願い致します。

  • Accessクエリ

    Accessのクエリでお教えください。 次のようなテーブルデータがあったとき 会員tbl 都道府県、区分、氏名 東京    1   山田 東京    1   田中 東京    2   佐藤 大阪    1   伊藤 福岡    2   鈴木 都道府県別区分別の件数を出したいのですがどのようなクエリにしたらできるのでしょうか。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 大阪    2   0 福岡    1   0 福岡    2   1 SELECT 会員tbl.都道府県, 会員tbl.区分, Count(会員tbl.氏名) AS 氏名のカウント FROM 会員tbl GROUP BY 会員tbl.都道府県, 会員tbl.区分; デザインビューで設定したものをSQLビューで表示したものです。 これですと次のようになってしまいます。 都道府県、区分、件数 東京    1   2 東京    2   1 大阪    1   1 福岡    2   1 0件も表示したいのです。

  • Accessで縦と横を入れ替えたい

    りんご みかん ぶどう バナナ いちご 佐藤 2   1    1   1  1 鈴木 1      1   1 田中 1   2       1 上記のようなテーブルがあるのですが、これを下記のようにしたいです。 担当者 種別 田中 りんご 鈴木 りんご 佐藤 りんご 田中 みかん 佐藤 みかん 佐藤 ぶどう 鈴木 バナナ 佐藤 バナナ 田中 いちご 鈴木 いちご 佐藤 いちご 佐藤 りんご 田中 みかん 種別の隣に数量がきてもOKです。 ご教授お願い致します。

  • Accessの選択クエリの抽出条件について

    いちもお世話になります。Access2002を勉強中の初心者です。 顧客テーブルから選択クエリを作っています。クエリのフィールドには「都道府県」(東京、埼玉、千葉...)と「顧客名」(山田、佐藤、田中...)があります。 「顧客名」の山田以外を抽出したいのですが、但し「都道府県」が東京の場合は山田以外の条件を外したいのです。つまり、埼玉、千葉の山田は抽出しませんが東京の山田は抽出したいのです。 このような抽出条件の設定ができますか? アドバイス、よろしくお願いします。

  • excelオートフィルタの検索条件をセルに入力したい

    以下のようなexcelのリストがあるとします。     A       B    C~ 1 佐藤・鈴木  Aタイプ 2 田中・山田  Bタイプ 3  佐藤     Aタイプ 4  田中     Cタイプ 5 山田・鈴木  Cタイプ A列の"田"が含まれる行を抽出したい場合 オートフィルタをかけ、オプションの抽出条件の指定で "田"を含む、で検索すれば良い、というのはわかります。 ですが、この動作をもうちょっと簡単にできないかと思っています。 具体的には、以下のようにセルに入力して検索・抽出するとはできないでしょうか。     A       B    C~ 1   田 2 3 4   A       B    C~ 6 田中・山田  Bタイプ 8  田中     Cタイプ 9 山田・鈴木  Cタイプ (1、2行目=検索用 3行目=空き 4行目以降=リスト) 過去の質問で、同じようにセルに入力して抽出する方法を 聞いていた方がいらっしゃったので参考にしようと思ったのですが 方法がVBAを使ったもので、VBAの知識がまったく無いために さっぱり理解することができませんでした。 何か良い方法がありましたら教えていただけないでしょうか。

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

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

専門家に質問してみよう