• ベストアンサー

アクセスのクエリの抽出条件について教えて下さい

クエリの使い方を教えて下さい(アクセス2003) 負担金が限度額より小さい人を抽出したいです。 クエリ名/限度額より小さい人 氏名 負担金 限度額 A    600  600 B     0 C    450  600 D     0 E    800  800 F    700  800 G     0 H    600  600 I    450 J    800 K    800  800 L     0 M    450 N    450  450 O    800 Q    800  800 限度額には「null」データ(空白)があります。 限度額が「null」ということは、無制限という意味です。 「負担金」が「限度額」より小さい人を抽出したいです。 「負担金」が「0」、「限度額」が「null」(無制限)の人の判断も、「負担金」が「限度額」より小さい人という扱いになります。 抽出したい人は、下記になります。 氏名 負担金 限度額 B     0 C    450  600 D     0 F    700  800 G     0 I    450 J    800 L     0 M    450 O    800 「抽出条件」をどのように設定すればよろしいでしょうか、お願い致します。

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

  • ベストアンサー
  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

限度額がNullなら負担金に関わらず、負担金<限度額でしょう。 よって、条件は以下の通りです。 負担金<限度額 OR 限度額 Is Null

g_girl
質問者

お礼

nda23様、回答をありがとうございました。 解決できて嬉しいです。

その他の回答 (2)

  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

負担金の抽出条件 <=Nz(限度額,99999999)

g_girl
質問者

お礼

CHRONOS_0様、回答をありがとうございました。 「99999999」とすることは勉強になりました。

  • Dxak
  • ベストアンサー率34% (510/1465)
回答No.1

[負担金]の抽出条件に < [限度額] [限度額]の抽出条件に、上記の「< [限度額]」と一段ずらして Is Null と、記入 べたな手ですが、確実でしょうね

g_girl
質問者

お礼

Dxak様、回答をありがとうございました。 解決することができました。

関連するQ&A

  • アクセスのクエリの抽出条件について教えてください。

    アクセス2002 平成20年10月1日の時点で、3歳以下の人を抽出したいです。 フィールドは、氏名・年号・生年・月・日に分かれています。 クエリ 氏名 年号 生年  月  日 A   平成 20   2  20 B   平成 17   9  30 C   平成 17  10   1 D   平成 17  10  31 E   平成 18   5   5 F   平成 19   4   7 G   平成 17  11  20 H   平成 20  10   1 I    平成 17  9   29 抽出したい人 氏名 年号 生年  月  日 A   平成 20   2  20 C   平成 17  10   1 D   平成 17  10  31 E   平成 18   5   5 F   平成 19   4   7 G   平成 17  11  20 H   平成 20  10   1 よろしくお願い致します。

  • クエリの抽出条件で困っています

    Access2007にて、クエリの抽出条件に下記を指定していますが、データが1件も抽出されません。 ※エラーは表示されません IIf([forms]![F_Home]![アンケート種別]="1級",1 Or Is Null,2 Or Is Null) この抽出条件をしているフォールドには"1"、"2"、nullのデータしか存在しません。 「アンケート種別」が"1級"の場合は、"1"とnullのデータをかえし、 それ以外の「アンケート種別」の場合は、"2"とnullのデータをかえしたいと思っています。 どのように条件を指定すれば、データを抽出できるようになるでしょうか。 宜しくお願い致します。

  • ACCESS2003でクエリの質問です

    クエリを教えて下さい。 ACCESS2003でクエリを作成したいのですが テーブルに以下のようにデータが入っています。 ID   日付   項目あ 項目い 項目う 項目え 項目お 001 2009/08/27  A         B    C 001 2008/08/27  D    E         F    G 002 2009/08/27       H         I 002 2008/08/27  K    L         M 002 2007/08/27  K    L    O    M 同一IDで日付の新しいレコードを抽出するのですが、 もしNULLの項目があれば、日付の古いレコードから編集したいです。 結果としては以下のようなテーブルを作成したいです。 [002]の[項目お]の様に過去日付のものがNULLであれば編集はしません。 ID   日付   項目あ 項目い 項目う 項目え 項目お 001 2009/08/27  A    E    B    C    G 002 2009/08/27  K    H    O    I また以下のように過去日付のデータが異なる場合は 事前のチェックでエラーとして別テーブルに出すように考えていますが、 こちらも合わせて教えていただけると助かります。 ID   日付   項目あ 項目い 項目う 項目え 項目お 003 2009/08/27  N    O    P         Q 003 2009/08/27  N    O    P    R    Q 003 2009/08/27  N    O    P    S    Q SQLが苦手で困っています。 宜しくお願いします。

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

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

  • クエリでの抽出条件について

    クエリでの抽出条件について クエリで納品がまだ済んでいない物件について、抽出期間を設定して抽出したいのですが、うまくいかず教えてください。 抽出したいフィールドは、[納品日]、[部署]、[変更]の三つです。 フィールド[変更]は、[納品日]が変更になることがあるので、[納品日変更]というフィールドに日付が入っていたら、[変更]に[納品日変更]の日付が入るように、[納品日変更]に何も入っていなかったら、[変更]に[納品日]の日付が入るように、判定式を入れています。 [変更]の動作は、目的通りになっており問題無いのですが、いざ[納品日]、[部署]、[変更]で抽出条件を入れるとうまくいきません。 抽出条件の所に [納品日]には、Is Null [部署]には、抽出したい部署名 [変更]には、Between #2010/04/01# And #2010/05/31# それぞれAndで組んで入れていますが、何も抽出されません。 [納品日]の、Is Null と [部署]の、抽出したい部署名 のふたつだけでやると、[納品日][部署]での抽出は動作します。 しかし、この二つに[変更]をプラスし、期間を追加するとダメなようです。 [変更]のように、判定式で作ったフィールドは、抽出条件に使ってはいけないのでしょうか? それとも抽出条件のAndは二つまでとか制限があるのでしょうか? 全く別の基本的な問題が原因だと思うのですが、教えて頂きたく。

  • 抽出が出来ないくらい遅いクエリ

    以下のようなクエリーを作成して検索を 行っているのですが、どうしても抽出が出来ないくらい 遅くどの部分で遅くしているのかが分からないため、 どなたか教えてもらえないでしょうか? ※足りない情報があればすみませんが、仰ってください。 なるべくプログラム(PHP等)を使わずクエリのみで 行いたいので、PHP云々の話しは無しでお願い致します。 最初の抽出テーブル(osi)と次の抽出テーブル(osday) をそれぞれ個別で動かすと普通の速度で抽出が旨く行きます が、それらをくっつけた形 select (省略) from osi,osday where osi.id=osday.id; とすると、抽出が行えない又は非常に遅いとなります。 ///////// 実際のクエリー文です ///////// select osday.odid,odctmid,saitemname,startday,endday from ( select odid,saitemname from order1 as o,sale as s where o.odid=s.saorderid and (o.odshipdue >= '2007-12-1 00:00:00' and o.odshipdue <= '2007-12-18 23:59:59') and (o.odcancelflag='0' or o.odcancelflag is null) and o.odclass<'4' and s.saregular='1' and s.saitemcode in (select itcode from item where itcategory='1') and odmakeday is not null ) osi , ( select odid,max(odctmid) as odctmid,to_char(min(o.odshipday), 'YYYY-MM-DD') as startday,to_char(max(o.odshipday), 'YYYY-MM-DD') as endday from order1 as o,sale as s where o.odid=s.saorderid and (o.odshipdue >= '2007-12-1 00:00:00' and o.odshipdue <= '2007-12-18 23:59:59') and (o.odcancelflag='0' or o.odcancelflag is null) and o.odclass<'4' and s.saregular='1' and s.saitemcode in (select itcode from item where itcategory='1') and odmakeday is not null group by o.odid ) osday where osi.odid=osday.odid; ///////////////////////////////////////////

  • アクセス2003でのクエリーの抽出条件について教えてください

    教えてください アクセス2003であるデータを条件を付けて抽出しようと 思ってます。 データあいうえおテーブル 人   最小  最大 A   1  10(1~10の間ということです) B   11  20 C   21  30 というデータがあったとします。 かきくけこテーブル 判定  範囲1  範囲2       I  0  14(A,B,Cで1~10であるならIということです。0<1 10<14)  II  14  26  III  27  30 というものでクエリーを実行した場合 結果として A  1  10  I B  11  20  II(IとIIでBのデータ範囲がかぶっていますが、IIの方が多くかぶっているのでII) C  21  30  II(IIとIIIでBのデータ範囲がかぶっていますが、IIの方が多くかぶっているのでII) と判定できる抽出条件はどうすればよいでしょうか? ちなみに私はVB等は組めません(式ビルダが精いっぱいです。) 回答でそれ以外でお願いします。 いろいろしらべて最初に範囲抽出からスタートし between and でやってみましたが、その場合範囲と最大が同じものが 2重計上されていました。(抽出条件難しいです。) 例があると助かります。 よろしくお願いします。

  • クエリの抽出条件でiif関数

    こんにちわ。 いまaccess2000でクエリを作成し, その抽出条件において,iif関数を使って, フォームのあるフィールドに値があるときはその値, ないときはワイルドカードで検索しようと思い, 下記のコーディングを入れました。 iif([Forms]![F_フォーム1].[テキスト1] Is Null, "*", [Forms]![F_フォーム1].[テキスト1]) ところがワイルドカードの"*"がうまく効いてくれないようで 正しく検索されません。 どうすれば正しく検索できるでしょうか? 教えてください。お願いします。

  • Access2003一つのクエリで結果を出したい2

    お世話になります。 Access2003を利用しておりますが、一つのクエリで以下の算出(抽出?)は可能でしょうか。 検品テーブル  ・ID  ・ライン  ・グループ  ID ライン グループ  1  L1    G1  2  L1    G1  3  L1    G2  4  L1    G2  5  L1    G2  6  L2    G3  7  L2    G3  8  L3    G4  9  L3    G4  10  L3    G4  11  L3    G4  12  L3    G5  13  L3    G5  14  L3    G6  15  L4    G7 結果として、一つのラインでのグループ数の最大値(上記の例だとL3はグループが3つあるので3)を一つのクエリで算出したいと考えております。 以下のように3つのクエリを作成すれば結果は得られるのですが、できれば一つのクエリでやりたいところです。  (1)検品テーブルを、[ライン]と[グループ]でグループ化    L1 G1    L1 G2    L2 G3    L3 G4    L3 G5    L3 G6    L4 G7  (2)上記クエリをグループ化し[グループ]をカウント    L1 2    L2 1    L3 3    L4 1  (3)上記クエリでグループカウントの最大値      3 この最大値3を算出するのを一つのクエリで行いたいのですが、可能でしょうか。 ご教授お願い致します。

  • 条件1つで複数の値を抽出することはできませんか。

    エクセルのことなのですが、条件1つで複数の値を抽出してきたいと思っています。 しかし、様々な本やインターネットのサイトを参照したのですがうまくできません。 内容なのですが、「シート1」というシートがありこのシートを「シート2」のように番号で分けて、横に並べるようなシートを作りたいと思っています。 シート1 番号 品目 100 A 100 B 101 C 101 D 101 E 101 F 101 G 101 H 101 I 102 J 103 K 103 L シート2 番号 品目 100 A B 101 C D E F G H I 102 J 103 K L すみませんが教えていただけないでしょうか。 よろしくお願いします。