• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Access チェックボックスを利用した絞込検索のクエリ記述)

Access チェックボックスを利用した絞込検索のクエリ記述

このQ&Aのポイント
  • Accessで、チェックボックスを含むテーブルからデータを抽出する方法について教えてください。
  • 検索フォームでチェックボックスにチェックを入れた場合、Yesのみを抽出する方法について教えてください。
  • クエリを記述することで、チェックボックスの値を適切に抽出する方法について教えてください。

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

  • ベストアンサー
  • bonaron
  • ベストアンサー率64% (482/745)
回答No.8

> この「資格」(チェックボックス)は30項目あります。 > そもそものテーブルデータの持ち方が悪ければ、まだ検討できるタイミングではありますが、いかがなものでしょうか。 資格マスタ と 資格取得情報 のテーブルを作るのが本筋でしょうね。 今回の抽出方法は難しくなるとは思いますが。 テーブルデザインの件に関しては、このスレへのリンクを張って こちらで質問されてはいかがでしょうか? http://www.accessclub.jp/ 以下、現在のテーブルのままでの抽出条件の回答です。 「チェックA」の抽出条件欄に <= [Forms]![検索フォーム]![チェックボックスA]  (先頭の「<」も書くのですよ。引用の意味ではありません。) 「チェックB」「チェックC」・・・も同様に。 TRUE が -1、 FALSE が 0 であることを利用しています。

macinspire
質問者

補足

なぜ「=>」+「抽出条件」で抽出できるのか落ちてないのですが、 とにかく自身が望む結果が得られました。 熟練の方からすればスマートなやり方ではないのでしょうが、 今回はこれで進めたいと思います。 ありがとうございました!

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

その他の回答 (11)

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

お疲れ様です。質問があるのですが。 (得たい結果) チェックAをYesで検索…1,2,3 チェックA+BをYesで検索…1,2 チェックA+B+CをYesで検索…3 とありますが、検索結果をテーブルに どのように格納するのですか。 格納のスタイルとテーブル構造を提示 していただけませんか。

macinspire
質問者

補足

ありがとうございます。 元のテーブルは、100人ほどの名前とその方が持つ属性が30項目ほどチェックボックス(Yes/No型)で入っています。 結果は、検索画面フォームのリストボックスに名前のみ表示させますので、クエリで抽出さえすればOKです。 (お答えになりますでしょうか。)

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

関連するQ&A

  • Accessのテーブル作成クエリについて

    教えてください。 Accessで、Yes/No型のフィールドを含むテーブルをテーブル作成クエリで新しくテーブルを作成すると、そのYes/No型のフィールドの値がチェックボックスにならずにチェックされているところが-1に、ないところは0になってしまうのですが、チェックボックスのままで作成して欲しいのです。何か方法があるのでしょうか。

  • アクセス チェックボックスとクエリ

    いつもお世話になっております。アクセス初心者です。 あるフォームのチェックボックスのオンオフとコンボボックス、 クエリの選択条件が思うように連携できなくて困っています。 やりたいことは、、、フォームのチェックボックスが、 ON(True)ならば、 フィールドにコンボボックスのキーワードを含むレコードおよびフィールドが空白のレコードを抽出し、 OFF(False)ならば、 フィールドにコンボボックスのキーワードを含むレコードのみでフィールドが空白のレコードは抽出しない、 としたいのですが…。 IIfやSwitchで式を書きましたが、チェックを入れても外しても、どちらも抽出件数が0件になります。 クエリの実行は、コマンドボタンで別のフォームを開いています。 (IIfでは、エラーが出ているのか、チェックを入れた時『~キャンセルされました』と出ます。  IIf(…,…,IIf(…,…,…)) という感じで書きました。) Switchの時のクエリの抽出条件の式は、次のような感じです。 Switch([Form]![チェックボックス]=True,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*" Or Is Null,[Form]![チェックボックス]=False,([テーブル名].[フィールド名]) Like "*" & [Form]![コンボボックス] & "*") ( Like の前の『([テーブル名].[フィールド名])』は、式をビルドすると、勝手に追加されてきます。) このようなことはできないのでしょうか? 別の方法が必要でしょうか? すみませんが、教えてください。宜しくお願い致します。

  • クエリでカウントしつつ、チェックボックスを

    クエリでカウントしつつ、チェックボックスを使えるように(更新できるように)したいです。 アクセス2003です。 テーブル1(主キーなし) 名前   退職(Yes/No型) 佐藤   No 田中   No 佐藤   No から下のクエリを作りました。 SELECT テーブル1.名前, Count(テーブル1.名前) AS 名前のカウント, テーブル1.退職 FROM テーブル1 GROUP BY テーブル1.名前, テーブル1.退職; 結果、 名前 名前のカウント 退職 佐藤   2        No 田中   1        No となりますが、退職フィールドにチェックを入れることは出来なくなってしまいます。 カウントしつつ、更新可能なクエリにしたいのですが不可能でしょうか? 最終的には、このクエリ1をレコードソースとしてフォームに表示させたいです。 ご教示よろしくお願い致します。

  • Access クエリについて

    初めまして。Accessのクエリについての質問です。 Access2003です。 検索フォームを作り、その検索フォームにテキストボックスを2つ作り、そのテキストボックスに検索したい言葉を入力し、コマンドボタンで作った検索ボタンを押すとマクロでフィルタの実行がされデータを抽出できるというものを作りました。フィルタには選択クエリを使用しています。抽出したい2つのフィールドの抽出条件に[forms]![フォーム名]![テキストボックス名]を入れています。 今は2つのテキストボックス両方に言葉を入力するとデータが抽出されますが、これを1つのテキストボックスだけ入力でもデータが抽出されるようにしたいのですが可能ですか?今は一つのテキストボックスに言葉を入力しもう一つを空欄にすると何もデータが出てこない状態です。 2つのテキストボックスをテキスト(1)とテキスト(2)とすると 以下のようにデータを抽出したいです。 ・テキスト(1)とテキスト(2)に入力 →両方の言葉が一致したデータ ・テキスト(1)だけに入力  →テキスト(1)の言葉だけ一致したデータ ・テキスト(2)だけに入力  →テキスト(2)の言葉だけ一致したデータ 初歩的な質問でしたら申し訳ないです。どうかお願いします。

  • ACCESS2000フォームでコンボボックスを使ったクエリーを作成したい

    ACCESS2000でデータベースを作成しています。 どなたか教えてください!! 検索フォームというのを作り、そこには「部」「課」「掛」を 選択できるようにテーブルを参照してコンボボックスを作成しました。 それぞれの項目を選択した後、「検索」ボタンを押すと コンボボックスから選んだ値と一致するレコードだけを抽出して表示させたいんです。 クエリは何となく作ったのですが、現在は全てのデータが抽出されてしまいます。 条件を一切入力していない状態なんです。 検索条件に"総務部"などと入力すればそのデータだけ抽出 されるようにはなっています。 でも、でも・・・「コンボボックスで選んで値と一致したら」抽出っていう条件をどうやって設定していいかわからないのです。 どうぞよろしくお願いします。

  • Accessでチェックボックスで抽出するには?

    Accessのフォーム検索でチェックボックスを使用して複数のレコードを抽出するにはどうすればよいでしょうか? Section1・2・3があると仮定します。 そこで、1をチェックすれば、そのサブフォームにSection1がOnになっている該当するレコードが出てくるようにしたいです。1・2をチェックすれば二点に絞り込み。 ちなみに、Section項目はYes/no形式と考えておりますが、適切な検索できるフォームの作り方を教えてください。

  • Accessでチェックボックスからの入力を受け付けない

    お世話になります。 Access2003を使い、フォームにチェックボックスを作りました。  チェックボックスの値をテーブルに反映させるために、「チェックボックス」-「プロパティ」-「コントロールソース」より、該当テーブルの列を指定しました。 フォームビューにて、チェックボックスをクリックすると「このフォームは読み取り専用です」と言われ、チェックボックスへの操作は拒否されてしまいます。  どのようにすれば、フォームのチェックボックスから入力した値が、テーブルに反映できるのでしょうか?  なお、該当テーブルの列はyes/no型に指定しています。 よろしくお願いします。

  • Accessのクエリでフィールド名を追加

    Accessでマスタのテーブル1があります。 その中には ID   名前  グループ 1   Aさん   555 2   Bさん   555 3   Cさん   666 4   Dさん   666 IDはオートナンバーで主キーにしています。 ただ単純に上記のテーブル1に下記のようにチェックボックスを追加したいと思っています。 ID   名前  グループ  チェック 1   Aさん   555      □ 2   Bさん   555      □ 3   Cさん   666      □ 4   Dさん   666      □ チェックはYES/NO型 仕様としてテーブル1がマスタなので変更できない事が条件。 本題ですが、上記の状態でグループCさんにチェックを入れ、コンボボックスでグループが666 and チェックが付いているデータのみ表示するように出来ないでしょうか? クエリで簡単に出来ると思ったのですが、チェックを追加するところでつまづいています・・・。 クエリの抽出条件でグループを666にし、グループの絞込みは出来ると思うのですが・・・。 わかりにくいかと思いますが、よろしくお願いします。

  • Access2003 検索用フォームでの検索がうまくいかない

    Access2003 検索用フォームでの検索がうまくいかない とある、テーブルを参照するフォームを作成。 そしてテキストbokを設けて、各項目毎にキーワードを指定してデータを抽出できるようにしたいのですが、 どうもうまくいきません。 検索は出来ているのですが、全部ひっかからないのです。 例えば ID という項目を検索するbox に"1"を入力して ID=1の全データを抽出しようとすると、一部検索にかかってこないものがある という具合です。 テーブルに入力されている数字や文字が本当に一致しているかどうかも調べましたが確かに一致しています。 実際、テーブルを開いて ctr+f で検索すると全てひっかかります。 何が原因なのでしょうか??? 私の作った手順は以下のとおりです。 テーブル作成(エクセルからインポート) ※空白の欄もあります フォーム新規作成でフォーム作成 フォーム上にテキストbox作成 クエリ作成 (Like "*" & [Forms]![フォーム名]![テキストbox名] & "*" ) マクロ作成⇒フィルタ実行/上の手順で作ったクエリを登録 マクロをフォーム上へドロップ およそこのような手順です。

  • ACCESSでテーブルにあるチェックボックスを一括でYesにする方法を教えてください

    アクセスのテーブルにあるYes/No型のチェックボックスを、コマンドボタンを押すことによって、全てのレコードをYes(チェックが入っている状態)又はNo(チェックが入っていない状態)にする 方法を教えてください。自分で、参考書をみながら試みたのですが、NoをYesに変えられたのですが、全部Yesにならなくて困っています。 (NoはYesになりますが、元々YesだったところがNoになってしまう) まだ、VBA初心者ですので、小学生(実際は中年?)にも解るように教えていただければ幸いです。よろしくお願いします。

専門家に質問してみよう