• ベストアンサー

ACCESSの差分で抽出する場合において、あるフィールに抽出条件に『<

ACCESSの差分で抽出する場合において、あるフィールに抽出条件に『<>"日本"』と 入力しますとNULLのデータも表示されなくなってしまいます。 『<>"日本" or Is Null』と入れますと正常に抽出されるのですが、『<>"日本"』の場合 なぜNullも表示されなくなるのか理解できません。 すみませんが宜しくお願い致します。

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

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

Nullは特別な値で、どのような条件式に使ってもFalseに しかなりません。(Is Null かIsNull関数を除く) 従って、=でも<>でもFalseになります。勿論、>や<も同じ 結果になります。「大でなければ小である」式の理論は 通じません。VBでコードを書く時でも同じ注意が必要です。

kitakumaku
質問者

お礼

ありがとうございました。Nullが特別な値とは知りませんでした。

関連するQ&A

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

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

  • ACCESS2003 クエリの抽出条件

    宜しくお願いします。 フィールド A A B B 1 セレナ ステップワゴン ・ ・ とあります。 抽出条件にてIS NOT NULLにすると空白以外表示されます。 セレナ以外の場合、IS NOT "セレナ"にするとセレナ以外になります。 クエリを実行する際、空白以外、セレナ以外、Aのみ、と一度で入力し、表示させたいのですが、どのようにすればよいでしょうか。 抽出条件を[抽出条件を入れてください]とし、 実行ボタンを押し、IS NOT NULLやNOT LIKE "セレナ"といれても何も表示されません。

  • access2000 クエリの抽出条件欄で・・・

    access2000で質問です。 フォームからいくつかの条件(10件くらい)を入力させて、すべてに合致した レコードを抽出します。ただし何も入力しない項目は無視し、全く条件を指定 しない場合は全抽出となります。 例えば、クエリの抽出条件のところでif文を使って、nullの場合は抽出 条件なし、null以外の場合は入力したものを抽出、みたいな事ができない ものでしょうか? よいやり方があれば教えてください。よろしくお願いします。

  • アクセス 複数条件の抽出~出力について

    ■アクセスのフォームにて、複数の条件を入力し、合致するリストをエクセルで出力する   データベースを構築しようとしています。  ⇒この複数の条件を入力する件に関し質問です。 ■目的は、顧客からのアンケート回答結果をDBから取出し、エクセルにて解析を行う事です。  情報量が膨大であるため、セグメントした形で出力し効率を上げたいと考えています。 ○テーブルのフィールド構造:   支店(テキスト型)、顧客No(数値型)、顧客名(テキスト型)、質問1(数値型)、質問2、・・・   ○フォーム「データ抽出」の構造: [支店名1][支店名2] [顧客No1][顧客No2] [顧客名1][顧客名2]       【出力ボタン】 ※上記テキストボックスいずれかに入力された条件に合致するデータが          【出力ボタン】を押すとエクセルに出力されるという構造です。          ※ボタンのイベントに「抽出マクロ」を設定。 ○抽出クエリ: 支店 [Forms]![データ抽出]![支店名1]  Is Null [Forms]![データ抽出]![支店名2]  Is Null 顧客No [Forms]![データ抽出]![顧客No1]  Is Null [Forms]![データ抽出]![顧客No2]  Is Null 企業名 like "*" &[Forms]![データ抽出]![顧客名1]& "*" Is Null like "*" &[Forms]![データ抽出]![顧客名2]& "*" Is Null               ○マクロ(抽出マクロ):  クエリを開く (抽出クエリ)  コマンドの実行(エクセルに出力)  閉じる (抽出クエリ) と設定しました。そこで実行確認すると・・・・  (例)     (1)支店名1だけに入力して、他は空欄で出力ボタンを押下。     ⇒条件セグメントされず、全てのデータがエクセル出力されてしまう。     (2)全ての項目に入力して出力ボタンを押下     ⇒条件セグメントされたデータがエクセル出力される。  という現象が起こりました。  例示(2)は良いとして、(1)の様な空欄がある状態でも、条件にマッチした出力をしたいのですが上手くいいかず困っています。    尚、クエリの抽出条件を支店フィールドだけにした所・・ 支店  [Forms]![データ抽出]![支店名1]   Is Null  [Forms]![データ抽出]![支店名2]   Is Nul 支店名1に入力して支店名2は空欄であっても条件にマッチした出力結果が得られました。 長文恐縮でございますが、どなたか解決法をご教授いただきたく存じます。よろしくお願いいたします。

  • Accessクエリでの複数の抽出条件設定

    Accessを利用して住所録のデータベースを作成しています。パラメータークエリを利用して複数の項目の検索結果をフォーム上に表示させたいのですが上手くいきません。 フリガナと勤務先の二つのフィールドを利用して検索結果を表示したいのですが, ・フリガナだけに条件を入力した場合 ・勤務先だけに条件を入力した場合 ・フリガナと勤務先の両方に条件を入力した場合 の3つのパターンを想定しています。 例えば,フリガナと勤務先の両方の検索結果を表示させる場合,フリガナフィールドの抽出条件に Like [フリガナを入力] & "%" 勤務先フィールドの抽出条件に Like [勤務先を入力] & "%" Or Is Null と入力すると,フリガナと勤務先の両方に検索条件を入力した場合, ・フリガナが該当し,かつ勤務先が該当するデータ のほかに ・フリガナが該当し,勤務先が空白のデータ が抽出されます。フリガナと勤務先の両方に検索条件をいれたときには,勤務先が空白のデータを抽出しないようにしたいのですが,どうしたら良いでしょうか。フリガナだけで検索するときには,勤務先が空白かどうかは考慮しない結果を表示させたいと思います。 ちなみに, フリガナフィールドの抽出条件に Like [フリガナを入力] & "%" 勤務先フィールドの抽出条件に Like [勤務先を入力] & "%" とすると,勤務先だけで検索したい場合に,勤務先の記載がない人のデータが出てこなくなってしまいます。 初心者ですが,よろしくお願いいたします。

  • アクセスの抽出条件について・・・

    いつも大変お世話になっております。 アクセスの抽出条件について質問したいのですが・・・ クエリを使って抽出条件を指定したいのですが・・・ コードが1~20まであったとして、 ●その「12」以外を抽出したいという場合 通常の「抽出条件」の「または」を使って指定できるのは、6つくらいまでの条件なので、本当は「1or2or3or4or5or6or7or8or9or...」というふうに12以外を抜かして条件を指定すればいいんでしょうが、欄が足りなくてできません。^^;) 恥ずかしながら、その方法しか分かりません。 何か「12以外の数字を抽出する」という条件の表記の仕方があるんだと思いますが分からないので教えてください。 お手数おかけしますが、よろしくお願いいたします。

  • ACCESSのクエリの抽出

    ACCESS2003を使っています。フォームのコンボボックスに入っているデータを見てクエリで抽出したいと思っています。 フォームのコンボボックスにデータが入っているときは、そのデータで抽出を行い、nullのときは抽出をやめてすべてのデータを表示させたいです。 抽出項目には、null値はありません。 クエリの抽出欄に下記の式を入れましたがうまくいきません。 IIf(IsNull([Forms]![フォーム名]![コンボボックス名])=true , Is Not Null , [Forms]![フォーム名]![コンボボックス名]) コンボボックスにデータが入っている場合は、抽出はうまくいくのですが、nullのときは、何も表示されません。 どこか式が違っているのでしょうか? よろしくお願いします。

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

    アクセスのクエリでの抽出条件で フィールド1とフィールド2とフィールド3 にデータがなければ1とフラグを立てるようにしたいのですが うまくいきません。 IIf([フィールド1]=Null and [フィールド2]=Null and [フィールド3]=Null,1,0) としてみたのですがうまくいきません。 ご指導お願い致します。

  • Accessで任意のテーブルのフィールド値をクエリの抽出条件にできますか?

    Accessで任意のテーブルのフィールド値をクエリの抽出条件にできますか? 工程管理のAccessDBがあり、毎日更新される工程を管理するため、数種類の選択クエリを作成しています。 そのクエリからExcelのデータベースクエリを使ってExcelシートにクエリ毎に各シートに取り込んでいます。 Accessクエリは不定期で抽出条件を変更しています。 抽出条件はどのクエリでも同時に同じものを使うところが多いため、任意に入力した値を抽出条件に指定できれば、一度で全クエリの抽出条件を変更できるのではないかと考えています。 色々調べてもフォームを使った方法は紹介されていますが、上記の条件下でいい方法はないでしょうか? 抽出条件は『Is Null Or >#2008/06/30#』のような感じです。

  • Accessでの抽出について

    Accessでのクエリーでの抽出の方法を教えてください。 たとえば「12345678」といったIDをもたせた人のデータが日付ごとにいくつかレコードがある場合に、クエリーのID欄の抽出条件欄には、「12345678」と入力すれば、その人のデータのみが表示されると思います。 そこで、 (1)その中の日付から、最新のものから3つを抽出したい場合。 (2)その中の日付から、2番目に新しいものを抽出したい場合。 において、クエリーの抽出条件になんて書いたらよいのでしょうか? できましたら、(1)(2)それぞれお答えいただければ幸いです。 どうぞよろしくお願いいたします。