• ベストアンサー

Access2003のnot likeとLIKEの結果異なる場合

Access2003の選択クエリでLIKEの結果とNOT LIKEの結果が異なります。 入力のテーブルが17万件で LIKE "system" の結果が1万件ですが Not Like "system" の結果は15万件になります。 テーブルを眺めてみてもよくわかりません。 抽出条件が不適切なのでしょうか? 正確な抽出方法をご存知の方いらっしゃいますか?

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

Not Like "a" Or Is Null to Like "a" をやってみると、データ数に合うのじゃないかな。 アクセスはIs Nullのアクセスの扱いが難しい。 それと関連しているのじゃないかな。

tepeto
質問者

お礼

ありがとうございました。 Not Like "a" Or Is Nullで件数が合いました。 Null値の扱いがあるのですね。 大変参考になりました。

その他の回答 (1)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

下記を参照 「抽出条件の "Is Null" と "Not Like "*"" の違いは何ですか?」 http://support.microsoft.com/kb/883247/ja

tepeto
質問者

お礼

ありがとうございました。

関連するQ&A

  • ACCESS クエリで”1”でないものを選択するには?

    ACCESS2003で排他選択("1"でないものを選択) をしたいのですが あるフィールドに”1”かブランクが入っていて ”1”以外のものを選択したいのですが クエリのデザイン画面で ------------------------- フィールド テーブル 並べ替え 表示 抽出条件  <> "1" ------------------------- 抽出条件に = "1" を入れると、"1"のレコードのみ 選択できます やりたいのは "1"以外のものを選択したいのです そこで 抽出条件に<> "1"といれると レコードがゼロ件になります また、Not "1"とか <> "1"、とか、Not = "1" と入れてみても、抽出結果はゼロ件になります 原因を教えてください

  • accessのnot検索

    access2000で テーブル[日付](yyyy/mm/ddで入力されています)   [内容](なんでも。空白の場合もあります) フォーム  「日付」(yyyy/mm/ddのみ入力可能にしています)  「NGword」(どんな文字でも入力できます) という項目を作成し・・・ 1、クエリでフォームの「日付」に入力したものかつ 2、フォームの「NGWord」を含まないレコードのみを抽出したいのですがうまくいきません。 「日付」「NGword」が空白の場合は入力された条件のみ適用させたいです。 (「日付」・「NGWord」が両方空の場合は全レコード抽出したいです) クエリを作成して・・・ [日付]の抽出条件を like "*" & forms![フォーム名]![日付] & "*" で [内容]の抽出条件を (not like "*" & forms![フォーム名]![NGword] & "*") or (is null) で設定したのですがうまくいきませんでした・・・泣 宜しくお願いします。

  • ACCESS クエリ 抽出条件が多い場合

    ACCESSの超初心者です。 選択クエリで、80件ほどの抽出条件を部分一致で 設定しています。(Likeを使用) 例えばこんな感じです。  フィールド   aaa1   bbb52   aaa33   aac8   bba35   bba115    抽出条件 Like "aaa*" Or Like "bba*" →抽出結果 aaa1,aaa33,bba35,bba115 今後も条件が増えていく予定なので、別の 良い方法がないかと思っています。 (できるかどうかわかりませんが、 別にテーブルを作り、その一覧内の文字が 含まれるレコードのみを抽出) 皆さんのお知恵をお貸しいただけないでしょうか。 宜しくお願いします。

  • ACCESS のフォームの内容をクエリーの抽出条件にするには?

    Windows2000,Access2000です。 Accessのクエリーでデータを選択して表示する作業をしています。 現在はクエリーを自分で修正して実行しています。 でもそれではみんなで使うには使いづらいので、 フォームを作成しそのフォーム上の入力項目に入力された データをクエリーの抽出条件に指定する様にしようという事になりました。 フォーム上の入力フィールドの内容をクエリーの抽出条件に設定する方法はすぐわかりました。 でも「like」を指定する方法がわかりません。 つまりフォーム上の入力データを“xxx”とした時、クエリーの抽出条件を 「like "*xxx*"」としてクエリーを実行したいのです。 つたない文章でわかりにくいかと思いますが、ご存じの方おりましたら、 よろしくご教示ください。

  • アクセスでクエリで、テーブルからデータを初めの100レコードを取り出したい

    あるテーブル(1万件くらいある)から テストしたいので、絞って100件くらい取り出したい 単純な方法を教えてください クエリを使えば、選択条件を付けて自由に抽出でき ますが。 はじめの100件を取り出す、なんてできるでしょうか WindowXP access2003 クエリは多少わかります

  • Access2010クエリ抽出条件(Like)

    Access2010のクエリで、対象のテーブルの商品名を使って抽出条件に「Like "*PB*"」としました。すると「PA 配管カバーB」(すべて全角)の商品が抽出の対象となっていました、何故なのか理解できません。どなたかAccessに詳しい方、理由をご教示ください。

  • ACCESS2000でLike演算子

    ACCESS2000で開発しています。 とあるフォーム(これにはレコードソース:SELECT…を記述しています) をDocmd.Openで開く時にWhereConditionを設定しています。 このWhereConditionには、 (A条件) AND (B条件) AND (C条件) AND フィールド名 Like 'XX*' といった内容を書いているのですが、正常に抽出できません。 (A条件) AND (B条件) AND (C条件) までですと抽出できるのですが、Like演算子を使った条件を加えると 0件になってしまいます。 どこが悪いのか全くわかりません。 ちなみに全てのSQL文をクエリのSQLにコピーすると成功します。 ご存知の方、よろしくお願いします。

  • ACCESS【更新クエリの中断ができない】

    ACCESS初心者です。質問がわかりにくかったらすみません。 ACCESSの更新クエリで、レコードのカンマをスペースに置き換える式を作りました。 クエリを実行すると、 ”更新クエリを実行すると、テーブルのデータが更新されます” と、メッセージが表示され”はい”で次に進むと ”*件のレコードが更新されます。”と正確な件数が表示されます。 ただ、ここでやはり中断したいと思い、”いいえ”を選択しても、 レコードは更新されてしまいます。何故でしょうか?教えてください。 ______________________ フィールド:     型名 テーブル:      データ統合 レコードの更新:  Replace([型名],","," ") 抽出条件:     Like"*,*"

  • ACCESS クエリー 抽出条件が多い場合

    アクセス初心者です。(2003です) 商品コードのテーブルから、 32個のキーワードを含むものを抽出したいです。 商品コードの中のキーワードの位置は 先頭や最後など決まりはなく、バラバラです。 クエリの抽出条件の欄が9個しかないので、 9個ずつバラバラにクエリを作ってみました。 *02S* *05F* ... ... というふうに条件を並べています。 この3つのクエリ結果を エクセルに出してはっつけて1枚のマスターに しようかと思っていますが… かなり手作り感があふれていて…(^^;)汗汗 もうちょっと単純な方法はないでしょうか? また、なんだか心配なので エクセルでテーブルをフィルタにかけ キーワードを一個ずつ抽出してみましたが アクセスで出た結果と違います…。(エクセルのが少ないです) 重複するキーワードがあるからかと思い ピボットで見ても、重複は4件しかありません。 クエリを分けているからでしょうか? どっちが正しいのでしょうか? 自分の作ったデータにまったく信頼が持てません。。。(--;) これを出さないと退社できないのですが チーム内に誰もいないので困っております。 助っ人お願い致しますm(__)m

  • ORACLEのLIKE演算子について

    いつも拝見させて頂いております。 ORACLEのLIKE演算子についての質問です。ある抽出条件 をシステムで作成して、その抽出条件を元にNOTで括って正反対 の抽出条件を作成したいと思っています。しかし抽出条件の中にL IKE演算子が含まれていて、パターンマッチングの抽出条件が存 在する場合にNOTで括って正反対の抽出条件を作成すると、NU LLのデータが含まれなくなってしまい、正しい結果が得られませ ん。LIKE演算子はNOT演算子を付加するとNULLデータは 抽出できないものなのでしょうか。ご存じの方がいらっしゃいまし たらご教授頂けないでしょうか。宜しくお願い致します。 WHERE NOT ( 抽出条件 ) ↑このような感じ

専門家に質問してみよう