• ベストアンサー

クエリがうまくいきません

WinMe,Access2000,Excel2000を使用しています。 練習で名簿を作成してみましたが、 クエリがうまくいきません。 100レコードあるテーブルからクエリを作り、 「人名」フィールドの抽出条件を「Like "*"」としました。 人名を記入していないレコードが40ある場合は 記入のある60レコードが抽出されると思うのですが、 クエリのレコード数は100のままです。 条件を「is not null」に変えても変化ありません。 データシートビューで、人名が空欄になっている レコードの所で非選択フィルタをかけてみても 変化が無いところを見ると、見た目は空欄でも 実際は空欄ではないのだと思います。 テーブルを、エクセルからのインポートで 作ったのがいけなかったのでしょうか。 解決策をネットで捜してみたのですが、 検索の仕方が悪かったのか、見当たりませんでした。 方法を教えて頂けると大変ありがたいです、 宜しくお願い致しますm(_ _)m

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

  • ベストアンサー
  • PrintScree
  • ベストアンサー率25% (538/2091)
回答No.1

>見た目は空欄でも実際は空欄ではないのだと思います。 答えが8割ほど出ていますね。 この場合、空白データがあるようですので、 Trim(テーブル名.人名) As 人名 とすれば、空白データは "" になるので、これでフィルターなりクエリーで該当データを抜き出す事が可能になるはずです。

その他の回答 (2)

  • 5qoo
  • ベストアンサー率48% (20/41)
回答No.3

>見た目は空欄でも実際は空欄ではないのだと思います。 Null値を抽出する場合は、抽出条件に "Is Null" と入力することで抽出できます。 Null値以外を抽出する場合は、"Is Not Null" です。 尚、抽出条件で "Is" を入力しなくても自動で補完されます。 Null(ヌル)値については参考URLをご覧下さい。

参考URL:
http://makotowatana.ld.infoseek.co.jp/access/acconSettingFieldPropertiesThatDetermineWhatBlankFS.htm#acconsettingfieldpr
  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>抽出条件を「Like "*"」 全件数のレコードが抽出されます。 >クエリのレコード数は100のままです。条件を「is not null」に変えても変化ありません。 >見た目は空欄でも実際は空欄ではないのだと思います。 そうですね。 人名に空白等の何か入っているため全レコード数抽出されています。 人名の抽出条件に ="" として人名の空欄のレコードを抽出できますか? できなければ クエリにフィールドを追加して 式1:Nz(Trim([人名]),"") として抽出条件に <>"" とすると人名に入力されているレコードのみ抽出できると思います。