• ベストアンサー

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

抽出条件で「Aから始まらない」という条件を設定したいときに、 <>”A*"とNot Like ”A*"とが違うことが経験から分かりましたが、場合によっては同じになった記憶があります。 どういう場合に違う結果が出るのでしょうか。

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

  • ベストアンサー
回答No.2

> でもなぜ”A*”としてもアスタリスクがワイルドカードの役割を果たさないのでしょう。 ワイルドカードが有効なのは Like演算子のときのみです。 等号(=) や不等号(<, > ,<=, >=)や不一致(<>)では単なる文字として扱われます。

ticktak
質問者

お礼

大変勉強になりました。ありがとうございます。

その他の回答 (1)

回答No.1

<>”A*" は間違いです。完全に一致する値のみ除外されます。 つまり「A*」 という値のみ除外されます。 「ABC」「A123」などは抽出されます。 Not Like ”A*" なら「A*」 「ABC」「A123」すべて除外されます。

ticktak
質問者

お礼

ありがとうございます。ほんとですね。 でもなぜ”A*”としてもアスタリスクがワイルドカードの役割を果たさないのでしょう。

関連するQ&A

  • ACCESS2003 クエリの抽出条件

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

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

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

  • Accessのクエリの抽出条件で・・・

    Accessのクエリの抽出条件で、例えば住所フィールドがあってそこから、「東京都と大阪府と福岡県」以外を抽出してくる、と言ったような場合はどのように入力すればいいのでしょうか?「<>」や「Not」を用いてand関数も用いてるのですがうまくいきません。入力の仕方が間違っているのでしょうか?またそれをパラメータクエリで行えるように設定したい場合はどのようにすればいいのでしょうか?お教え下さい。よろしくお願い致します。

  • ACCESS クエリ 条件以外のレコードを抽出するには?

    クエリで、抽出条件(文字列)以外のレコードを全て抽出したいのですが、うまくいきません。 そのフィールドには空白もあり、 抽出条件を「Not In ("A","B")」とすると、 "A","B"以外の文字列が抽出され、空白のものは抽出されません。 「"A"や"B"でない、他の全てのレコードを抽出したい」という場合、どのようにすればよいのでしょうか?

  • Access2002の抽出条件の設定?

    Access2002での抽出条件設定に関して、 あるフィールドで ・Aではない ・Bではない ・Cではない 他のフィールドでも条件はありますが、この場合 このフィールドでの記述は ・Not"A" And Not"B" And Not"C" ではダメなのでしょうか・・・? ご教示ください。

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

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

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

    ACCESS超初心者です。 自分なりに調べたのですが、知識不足によりお手上げ状態です。 クエリの抽出条件について、どなたかご教授いただけますでしょうか? OS:XP ACCESS:2000 ・フォーム上に自由に入力できるテキストを3つ用意します。 ・入力された3つのテキストが1つのフィールドに含まれるものをクエリで抽出したい。 ・3つのテキストが空欄の場合は全てのデータを抽出したい。 ■フォーム上のテキスト  テキスト1:テキスト10  テキスト2:テスト11  テキスト3:テスト12 ■テーブル  フィールド1:問合せ内容(1) ■クエリ内の抽出条件 Like "*" & [Forms]![F_検索テスト]![テキスト10] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト11] & "*" And Like "*" & [Forms]![F_検索テスト]![テスト12] & "*" テキスト名がおかしいのですが、ご了承下さい。

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

    先の投稿に重複しますが、 それぞれ異なるテーブルについて、 クエリーで、、 Between #5:00# And #19:00# Between 500 And 1900 上記の方法等で同じ数値ではなく、 期間に幅をもたせて一致としそれぞれの 一致データを抽出するクエリーは つくれますか? もちろん抽出対象のテーブル、列はそれぞれ同じ書式です。 > between関数を使って、 フィールドのデータ型が日付/時刻型の場合 抽出条件欄に、 > 5:00から19:00を抽出したい、 Between #5:00# And #19:00# > 5:00から25:00を抽出したい、 Between #5:00# And #23:59# OR Between #0:00# And #1:00# Access の日付/時刻型では、25:00 というような表現はできないので、上記のように分割することになります。 > また上記がテキストだった場合も、 > 500から1900を抽出したい フィールドがテキスト型の場合、テキスト比較になり数値比較とは異なる抽出結果になるので、 フィールドに Val([テキスト型フィールド]) と式を設定して数値型に変換します。このの抽出条件に、 Between 500 And 1900 と設定します。 通報する

  • アクセス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重計上されていました。(抽出条件難しいです。) 例があると助かります。 よろしくお願いします。

  • ACCESSのあいまいな条件のクエリ 

    フォームで金額を入力します。 この入力された金額を使ってクエリの条件を作りたいと考えています。 <条件> ・金額が未入力の場合は、全て抽出。 ・金額が入力されている場合は、その金額以上を抽出   (例:1000と入力された場合は、>=1000) 下記のような条件式を入れたら、金額を入力しているにも関わらず、 何も入力されてきませんでした。 IIf(IsNull([Forms]![フォームA]![txt金額]),Like "*",>=Val([Forms]![フォームA]![txt金額]))

専門家に質問してみよう