- 締切済み
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にコピーすると成功します。 ご存知の方、よろしくお願いします。
- ruminow
- お礼率56% (31/55)
- オフィス系ソフト
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- hequil
- ベストアンサー率65% (242/372)
LIKE演算子を使った条件式を フィールド名 Like 'XX*' から フィールド名 Like 'XX%' としてみてはどうでしょうか?
関連するQ&A
- ACCESS2007の不思議な現象に困っています!!
ACCESS2007の不思議な現象に困っています!! ACCESS2007+SharePointで開発を行っております。 SharePointとリンクしているテーブルが1つあり、そのテーブルを基にクエリを実行するのですが、 データベースウインドウを開いた直後にクエリを実行すると0レコードを返します。 再度クエリを実行すると3レコード返します。 (2回目以降は何度実行してもちゃんと3レコードを返します。) 3レコード返すのが正解なのですが、いろいろ調べてみると、どうも複数値フィールド(リンクテーブルの1つのフィールドが複数値フィールド)に対して抽出条件を設定しているところが問題というところまでは分かったのですが、対処法が分からず困っています。 (ちなみに抽出条件は Like "*OOO*" な感じです) あと、自分なりにわかったことなのですが、、、 下記のようなテーブル(例)があったとします。(列Cが複数値フィールドです) SQL: select * from TableA where 列C.Value Like "*1*" 列A 列B 列C ----------------------- 10 100 1 20 200 2 30 300 3 40 400 1,2 50 500 1,3 60 100 2,3 ----------------------- 初回クエリ実行結果 列A 列B 列C ----------------------- 10 100 1 ----------------------- 2回目以降のクエリ実行結果 列A 列B 列C ----------------------- 10 100 1 40 400 1,2 50 500 1,3 ----------------------- どうかご教授の程、よろしくお願い致します。
- ベストアンサー
- その他(プログラミング・開発)
- like演算子の使い方
VB.Netとアクセス2002でデータベースを作っています like演算子により、○○と文字を含むレコードを抽出したいのですが、うまくいきません。 初心者なので、やさしくおしえてください! お願いします。
- ベストアンサー
- Visual Basic
- ACCESSでの抽出について
単純なクエリの抽出なのですが・・・。 区フィールド、町フィールドをクエリで作成して そのクエリを元に抽出フォームを作成しました。 そして、クエリの抽出条件に以下の式を入力しました。 Like "*" & [Forms]![F_抽出]![区] & "*" Like "*" & [Forms]![F_抽出]![町] & "*" しかし、大本のデータに [区]フィールド→品川区 [町]フィールド→空白 ・・・と、どちらかが空白の場合、そのレコード を抽出してくれません。 このように、空白フィールドを持つレコードをも 抽出するにはどのようにしたらようですか? 初歩的な質問で申し訳ありませんがよろしくお願いいたします。
- ベストアンサー
- その他(データベース)
- ORACLEのLIKE演算子について
いつも拝見させて頂いております。 ORACLEのLIKE演算子についての質問です。ある抽出条件 をシステムで作成して、その抽出条件を元にNOTで括って正反対 の抽出条件を作成したいと思っています。しかし抽出条件の中にL IKE演算子が含まれていて、パターンマッチングの抽出条件が存 在する場合にNOTで括って正反対の抽出条件を作成すると、NU LLのデータが含まれなくなってしまい、正しい結果が得られませ ん。LIKE演算子はNOT演算子を付加するとNULLデータは 抽出できないものなのでしょうか。ご存じの方がいらっしゃいまし たらご教授頂けないでしょうか。宜しくお願い致します。 WHERE NOT ( 抽出条件 ) ↑このような感じ
- ベストアンサー
- その他(データベース)
- ACCESS2003 数値や文字列のあいまい検索
フィールド内に入力されている文字列から、「ひらがな」や「英語」が入力されているレコードの抽出について質問です。 ※[ニックネーム]のフィールドは、英数カナ文字が混在しています。 ======================== (テーブル) [ID] [ランク] [ニックネーム] 1 A 123456789 2 B akb48 3 A ああああ 4 B 987654321 5 C かかか123 6 B 112233 7 C 445566 8 A 778899xyz ======================== ☆上記のテーブルから、[ニックネーム]に「ひらがな」が 含まれるレコードの抽出をする。 ======================= [抽出結果] [ID] [ランク] [ニックネーム] 3 A ああああ 5 C かかか123 ======================== ☆上記のテーブルから、[ニックネーム]に「英語」が 含まれるレコードの抽出をする。 ======================= [抽出結果] [ID] [ランク] [ニックネーム] 2 B akb48 8 A 778899xyz ======================== 上記のように、クエリでの条件を指定して抽出結果を表示させたいのですが、 どうすればよろしいでしょうか? また、クエリだけでは出来ない場合は、SQLで教えていただければ 幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- Access2003 複雑な条件のデータ抽出
☆1つのテーブルで、フィールド[A]~[C]があり、文字および英数字のデータが混在しています。 (ただし、フィールド[C]には、空欄(Null)になっている場合があります) =========================================================== (テーブル(1)) No [A] [B] [C] [D] [E] [F] 1 111 X あ 2 222 X か 3 333 X さ 4 111 Y た 5 222 Y (Null) 6 333 Y は 7 222 Z ま 8 333 Z や 9 111 Z ら =========================================================== [課題] (1) テーブル(1)のフィールド[A]の値を参照し、「111」の場合は、 フィールド[C]の値を[D]へ抽出する([B]でグループ化) (2) 同様に、フィールド[A]の値を参照し、「222」の場合は、 フィールド[C]の値を[E]へ抽出する([B]でグループ化) (3) 同様に、フィールド[A]の値を参照し、「333」の場合は、 フィールド[C]の値を[F]へ抽出する([B]でグループ化) (4) 新規クエリにて、上記課題(1)~(3)の条件を指定して実行すると 以下の抽出結果が表示される =========================================================== [抽出結果] (テーブル(2)) No [B] [D] [E] [F] 1 X あ か さ 2 Y た (Null) は 3 Z ら ま や =========================================================== 別々のレコードにあるフィールド[C]の値を、条件に従い テーブル(2)のように1つのレコードにまとめたいのです。 大変恐縮ですが、私はSQLが書けないので、フィールド欄へ関数式を 入力して条件を指定しております。 できましたら、各フィールドへ入力する関数式を教えていただけると助かります。 また、関数だけでは出来ない場合は、SQLで教えていただければ幸いでございます。 お手数お掛けしますが、何とぞ宜しくお願い致します。
- ベストアンサー
- その他MS Office製品
- AccessのクエリでvbLfのみ抽出するには
Access2010のクエリー(SQL)で vbLfかvbCrLfが含まれているレコードを抽出するには、 SELECT [テーブル1].* FROM テーブル1 WHERE [テーブル1].フィールド1 Like "*" & Chr(10) & "*"; vbLfが含まれているレコードは抽出せず、 vbCrLfが含まれているレコードだけを抽出するには、 SELECT [テーブル1].* FROM テーブル1 WHERE [テーブル1].フィールド1 Like "*" & Chr(13) & Chr(10) & "*"; でよいと思いますが、 vbCrLfが含まれているレコードは抽出せず、 vbLfが含まれているレコードだけを抽出するには、 どのように記述すればよいのでしょうか。 よろしくお願いします。
- ベストアンサー
- Access(アクセス)
- Accessクエリ 演算フィールド名を使用したい
クエリ1の中で、演算フィールドAで算出した値を演算フィールドBに使用したいのですが 選択クエリを実行しようとすると、演算フィールドAのフィールド名に対するパラメータ入力用のウィンドウが出てきてしまいます。 【クエリ1】 演算フィールドA aaa:x+y+z 演算フィールドB bbb:[aaa]*24 →選択クエリを実行すると、[aaa]のパラメータ入力を要求される 解決方法がありましたら教えていただけますでしょうか。 よろしくお願い致します。
- ベストアンサー
- Access(アクセス)
- Access 選択クエリ 演算 抽出できない
クエリで抽出がかけられなくて困っています。 売上: [単価]*[個数]の列フィールドで1以上を抽出かけたいのですが(0値になるものがあるので)、抽出条件に“>0”と入れてもパラメータクエリが出てしまって駄目です。 要するに、レポート時に、売上が0値またはnull値のレコードは抽出をかけたくないようにしたいのです。 どなたか教えてください。 バージョンは2003です。
- 締切済み
- オフィス系ソフト
- Accessでの抽出について
Accessで下記のようなテーブルがあるとします。 フィールド1 フィールド2 フィールド3 ----------------------- Aさん 20 200 Aさん 10 180 Bさん 10 300 Cさん 10 250 Cさん 30 310 条件1・・・フィールド2が「20」 条件2・・・フィールド3が「200」 この条件が当てはまる、フィールド1のデータはすべて抽出というふうにしたいのですが・・・。 (上記のテーブルでは、1件目と2件目のレコードがあてはまります。) どのようにして抽出したらよいでしょうか?よろしくお願いします。 Access2000を使用します。
- ベストアンサー
- その他(データベース)
補足
早速の回答ありがとうございます。 試しにやってみましたが、レコード0件にはなりませんが データは取得できないようです。 (現象:フォームを表示するものの明細行はない)