- ベストアンサー
AccessクエリでYes/No型データの抽出
chairwarmerの回答
- chairwarmer
- ベストアンサー率41% (163/393)
#1です。 「=(イコール)」はあくまで左右にある一つずつの値を比較するだけですので 「データが -1 か 0 のどちらか」という事を意味する論理式は (データ = -1) or (データ = 0) や データ in(-1, 0) という形になります。 (ただし後者の in が使えるのはクエリ等のSQLの条件式のみ) 抽出条件をどのように設定しているかにもよりますが クエリのデザインで抽出条件の欄にChoose関数をセットされているのであれば 抽出条件の1行目には =Choose([Forms]![オプショングループ名],-1,0,0) 2行目(または: の行)には =Choose([Forms]![オプショングループ名],-1,0,-1) を入れておくという形ではいかがでしょうか。 その後SQLビューで見てみると分かりますが、条件式は (データ = Choose([Forms]![オプショングループ名],-1,0,0)) OR (データ = Choose([Forms]![オプショングループ名],-1,0,-1)) という記述になり オプショングループ = 1 の場合 → (データ = -1) OR (データ = -1) オプショングループ = 2 の場合 → (データ = 0) OR (データ = 0) オプショングループ = 3 の場合 → (データ = 0) OR (データ = -1) という意味になってきます。 オプショングループが 1, 2 の場合にはChoose関数の返す値は同じですので 2行目の「または」の条件に意味はありませんが オプショングループが 3 の場合はChoose関数の返す値が異なりますので 「または」のOR条件が生きてくる形になります。
関連するQ&A
- access クエリでIIF文で抽出条件なし
フォームにコンボボックスを用意し、(コンボボックスは、「両方」、「条件A」、「条件B」の3項目です) クエリで抽出条件にIIF文を使い、 IIf([Forms]![フォーム]![コンボボックス]="両方",'',[Forms]![フォーム]![コンボボックス]) ”両方”を選択した場合は、「抽出条件なし」としたいのですが、できませんでした。 別案として、 IIf([Forms]![フォーム]![コンボボックス]="両方","条件A" or "条件B",[Forms]![フォーム]![コンボボックス]) なども試しましたができませんでした。 どうか解決方法をご教授願います。
- ベストアンサー
- オフィス系ソフト
- Access チェックボックスを利用した絞込検索のクエリ記述
ここ数日、試行錯誤やgoogle検索したのですが、分からないためヒントを下さい。 Accessで、チェックボックス(Yes/No)を含むテーブルがあります。 検索フォームを作成し、ここにチェックを入れることで、テーブルから一致するデータを抽出したいです。 ただし、「Yes」のみが有意なデータで、「No」は無視したいです。 チェックA チェックB チェックC 1 Yes No No 2 Yes Yes No 3 Yes Yes Yes (得たい結果) チェックAをYesで検索…1,2,3 チェックA+BをYesで検索…1,2 チェックA+B+CをYesで検索…3 単に検索フォームのチェックボックスの値を「抽出条件」に入れますと、「No」まで一致するように抽出するので意図と違います。 チェックを入れなかった項目については無視して、クエリを働かせられればよいのですが...。 どのようにクエリを記述したらよいのでしょうか。 フォームにあるチェックボックスからのデータの取得や抽出結果のフォームへの表示などはできています。 よろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- ACCESS クエリの抽出条件で全てを抽出したい
初歩的な質問で申し訳ありません。 売上入力フォームのオプショングループに配置した3つのトグルスイッチによって、クエリからデータを抽出したいのですが、 オプション値1 全て オプション値2 現場 オプション値3 得意先 IIf([Forms]![F_売上入力]![fr_2]=2,"現場",IIf([Forms]![F_売上入力]![fr_2]=3,"得意先","*")) と抽出条件に入力しましたが、全てのみ上手くいきません。単純なミスとは思うのですが、どうしても出来なくて。。。他に全てを表示させる方法等ありましたら、是非、お知恵を貸して下さい。
- ベストアンサー
- オフィス系ソフト
- ACCESSのクエリの抽出
ACCESS2003を使っています。フォームのコンボボックスに入っているデータを見てクエリで抽出したいと思っています。 フォームのコンボボックスにデータが入っているときは、そのデータで抽出を行い、nullのときは抽出をやめてすべてのデータを表示させたいです。 抽出項目には、null値はありません。 クエリの抽出欄に下記の式を入れましたがうまくいきません。 IIf(IsNull([Forms]![フォーム名]![コンボボックス名])=true , Is Not Null , [Forms]![フォーム名]![コンボボックス名]) コンボボックスにデータが入っている場合は、抽出はうまくいくのですが、nullのときは、何も表示されません。 どこか式が違っているのでしょうか? よろしくお願いします。
- ベストアンサー
- その他(データベース)
- ACCESS Yes/No型の集計
ACCESSでチェックボックスが複数あるテーブルがあります。これら各々の個数を表示させたいと奮闘しております。複数のフィールドがあるので、やり方をご教授いただけますようお願いいたします。構造とやりたいことは下記に記します Yesはチェックボックスにチェックが入っている状態です テーブル ---------------------------------------------- グループ 分類1 分類2 分類3 ---------------------------------------------- A | Yes | No | Yes A | No | No | Yes A | Yes | Yes | No B | Yes | No | Yes B | No | No | Yes B | Yes | No | Yes ・ ・ ・ ZZ 上記のようなテーブルがあります。これを ----------------------------------------------------- グループ グループ総数 分類1 分類2 分類3 ----------------------------------------------------- A | 3 | 2 | 1 | 2 B | 3 | 2 | 0 | 3 ・ ・ ・ ZZ とういうようにグループの総数とチェックボックスにチェックが入った数を算出させたいんです どうかご教授願います
- ベストアンサー
- その他MS Office製品
- アクセスのクエリ抽出ができない。
アクセスのクエリで、フォーム上のチェックのオンオフで抽出データの抽出条件を変更しようと思っています。 条件は、データの作成日付(yyyy/mm/dd形式)で、抽出の条件式は IIf([Forms]![F_送付状]![チェック40]=False,>=DateAdd("m",-1,Date()),>"0") です。チェック40がフォーム上のチェック(コントロールソースなし)で、オフの場合は、1ヶ月前までのデータを抽出、オンの場合は全件を抽出したいと思っています。 上記の式でうまく抽出できない(データが抽出できない)のですが、アドバイスをお願いします。
- ベストアンサー
- オフィス系ソフト
- アクセスクエリでの空白の値の表示
フォームで条件フィールドから2つ同時の検索をかけたく クエリに以下の式を記載致しました。 検索はかかるのですが空白のデータがでてきません。 空白のデーターも表示させたいためにはどうしたらいいでしょうか? 式1: IIf(IsNull([Forms]![フォーム]![条件1]) And IsNull([Forms]![フォーム]![条件2]),True,[条件]=[Forms]![フォーム]![条件1]Or [条件]=[Forms]![フォーム]![条件2] 抽出条件 True
- ベストアンサー
- オフィス系ソフト
- Yes/No型のデータ抽出
Access97で出面管理(出勤簿)を作成しています。 レポートを印刷する際請求を出す都合上、自社社員分と応援社員分とを分けるため社員名と所属が自社か応援かを分けるためのテーブルを作成しました。 その分類方法はYes/No型(True=応援社員、False=自社社員)に設定しました。 その際、氏名を選択すると自動で自社/応援かが認識できるようにしました。 その後、必要なテーブル・クエリー等を設定し、フォームから入力してみると 自社社員としてしか認識しません。 そこで該当するテーブルから入力(氏名=テキスト型・自社/応援=Yes/No型 チェックボックスONで応援扱い)するとフォーム・レポートでも 認識してくれます。 しかしこの方法では毎日同じ応援社員がいた場合その都度チェックボックスを Onにしなければならず非常に厄介です。 しかもデータが毎日蓄積されるのでしばらく入力を忘れたりするとそれこそ手間がかかってしまいます。 どのように設定(テーブル・クエリー・リレーション等)を変更してやれば 良いのかアドバイスお待ちしております。 ちなみに現時点ではフォームから入力する際、氏名をコンボボックスで選択でき その後連動して所属が決定するようになってます。
- ベストアンサー
- オフィス系ソフト
- ACCESSクエリ抽出条件について
フォーム画面のリストボックスで複数選択が出来るよう設定し、その結果をクエリの抽出条件で forms![フォーム名].[リストボックス名] としたのですが全く反映されません。 複数選択が出来ないようにしたら問題なく表示されるのですが、上記の記述以外に入力しないといけないのでしょうか?
- ベストアンサー
- オフィス系ソフト
お礼
なるほど!モヤっとしてたものがスッキリしました。 すごく丁寧に教えて下さり、ありがとうございました。