• ベストアンサー

Access & ADOで「'」のLIKE検索

Access2000とVB6のADO2.6でシングルコーテーションのLIKE検索をしたいのですが、 Selsect * from tbl where f1 Like ''' だとエラーが出てしまいます。 Selsect * from tbl where f1 Like '[']' も使えないようです。わかる方お願いいたします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

試してませんが Like '*''*' ではないでしょうか。

lord_chan
質問者

補足

ダブルクオーテーションならそれでいけるようです。しかもVBから使うADOですので(アクセスのVBAではない) Like '%"%' となります。ADOとVBAではワイルドカードも少し違うようです。 先ほど試してみますと、 Like "'" Like "%'%" なら良いみたいです。が、そうすると Like "%'"%" が検索できません。ダブルクオーテーションとシングルクォーテーションの同時検索は無理なのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • utakataXEX
  • ベストアンサー率69% (711/1018)
回答No.4

like '''' か like chr(39) ワイルドカードを付けるなら like '%''%' か like '%' + chr(39) + '%' では?

lord_chan
質問者

補足

うむむ、大丈夫ですかねぇ?なんかエラーがでそうな・・・。

全文を見る
すると、全ての回答が全文表示されます。
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

#1>#1で書いたのは、ダブルクォートではなくてシングルクォートが2つのつもりでした。 SQLの文法としてはエスケープ文字は%を使うのは知っています。アクセスでエスケープ文字として*を使うので、そう書いてみました。間違いだったようですね。すみません。 >同時検索は無理なのでしょうか? また試していないのですけど LIKEをORでつなげませんかね? (A LIKE B) OR (A LIKE C) みたいな感じで

lord_chan
質問者

補足

>ダブルクォートではなくてシングルクォートが2つのつもりでした。 すみません確認不足でした。 orですか、う~む

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

こんにちは。 ダブルコーテーションとシングルコーテーションは別物なので、同時には無理ですね・・・。 普通に考えれば、 LIKE '''';となります。 ダブルコーテーションだと、 LIKE '"';ですね。 似てるんですけどね・・・。 (^^ゞ

lord_chan
質問者

補足

>ダブルコーテーションとシングルコーテーションは別物なので、同時には無理ですね・・・。 やっぱりそうですね。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • '(シングルクォーテーション)の検索

    '(シングルクォーテーション)の検索 SQL Server 2005 Express Edition を使っています。 '(シングルクォーテーション)を含む文字列を検索したいのですが できずに困っています。 どのようなクエリを組むべきでしょうか? 教えてください。 よろしくお願いします。 現在は select * from テーブル名 where 列名 like '%\'%' としていますがエラーになります。

  • LIKEで検索

    MySQL 4.0.20 + PHP で名前が入ったテーブルよりLIKEを使って検索すると全然関係のない名前まで引っ張ってきます。 SELECT * FROM `lady` WHERE name LIKE 'らむ' 上記で検索すると 「とも」って名前まで引っ張ってきます。 SELECT * FROM `lady` WHERE name LIKE 'らな' だと 「るる」って名前も引っ張ります。 どうも「ら行」の検索がうまく出来ないようです。 何か回避方法はあるのでしょうか? よろしく御願いします

    • ベストアンサー
    • MySQL
  • LIKE検索の場合うまくいきません

    WEBアプリとSQLServerでSELECTをするときに不正をされないように SELECT * FROM DB WHERE DB.A = 検索文字 を SELECT * FROM DB WHERE DB.A= @A のようにして、@Aを後で指定しますが、 SELECT * FROM DB WHERE LIKE '%検索文字' のようにLIKE検索の場合うまくいきません。 どのように記述したらいいのでしょうか? SELECT * FROM DB WHERE DB.A LIKE @A --> 駄目 SELECT * FROM DB WHERE DB.A LIKE '%@A' --> 駄目

  • LIKEを用いたあいまい検索の方法

    SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE b1.b2; を部分一致で検索したいのですが不可能なのでしょうか? SELECT `a2` FROM `a1` , `b1` WHERE a1.a2 LIKE '%b1.b2%'; とするとエラーは出ないのですが、検索結果が0になってしまうのです。 [開発環境] MySQL 4.0.x a1 b1 +--------+    +------+ | a2    |    | b2   | +-------+    +-------+ | abcde  |    | cd    | +-------+    +-------+ よろしくお願い致します。

    • ベストアンサー
    • MySQL
  • rs.filterで、likeの検索ができません・・

    こんにちは。 rs.Filterで、likeを使った検索がどうしてもできません。いろいろ調べて、ADOやACCESSVBAなどのページでは、%をワイルドカードにして問題なくできるようないことが書いてありますが・・・ SQL検索のWHEREでは問題なくLikeを使って抽出ができています。WHEREと構文は変わらないと記載してるページもありましたがうまくういきません。。。 DBのデータ型は数値です。 たとえば、20~29 までを抽出させたいので、 (R=2です。実際にはForで、2は、変化しますので。)  rs.Filter ="rest like '"&R&"%'" と記載したとします。 数値型とはいえ、Whereではこれで検索できます。 ためしに、 rs.Filter ="rest like "&R&"%" ’をとってみましたがだめでした・・・ 力技ですが、現在は  rs.Filter ="rest >= '"&R&"0' and rest < '"&R+1&"0'" (以上、未満)を使用しています。 FILTERって、betweenも使えないようだし、likeもエラーはでないものの機能しないんでしょうか・・・ どなたか経験のある方教えて下さい!

  • アクセス:like以下に変数を使って書くには?

    アクセスで困っています。 フォーム上にテキストボックスを設置し, そのテキストを検索ワードとしてレコードを抽出しようとしています。 レコードソースに入力する方式です。 以下のコードはきちんと動作しました。 Dim KENword As String KENword = [Forms]![Fその1]![検索ボックス] Me.RecordSource = "select * FROM テーブル WHERE (名前 like '*" & KENword & "*') or (所属 like '*" & KENword & "*')" さらに,likeの後ろを丸ごと変数にしたいと思い,次のように書きました。 Dim KENword As String Dim KENlike As String KENword = [Forms]![Fその1]![検索ボックス] KENlike = "'*" & KENword & "*'" Me.RecordSource = "select * FROM テーブル WHERE (名前 like KENlike) or (所属 like KENlike)" しかしこうすると, パラメーターの入力 KENlike の画面が出てしまいます。 msgboxなども使って試したのですが, どこが間違っているか分からず困っています。 どう直せばよいのでしょうか。 教えていただけると助かります。

  • Access BetweenとLikeの組み合わせ方

    Access2000(初心者) フォームで Between(指定日~指定日)の中でLike(チェック)を含まないレコードを検索削除したいです。 下記コードの場合 実行時エラー'3061': パラメータが少なすぎます。1を指定してください。 のエラーが出てしまいます。 どこを直せば良いでしょうか?宜しくお願いします。 CurrentDb.Execute "DELETE * FROM テーブル名 WHERE ([テーブル名].[日付] Between #2009/01/01# And #2009/02/02#) AND ((([テーブル名].[チェックボックス]) Like 'No')); "

  • ACCESSのSQLの書き方

    ACCESSでのSQL文の書き方を教えてください。 テーブルtbl_Aとテーブルtbl_Bがあり, tbl_Aで得られた数値とtbl_Bで得られた数値を加えたものを結果として表示します。 どう書けばよろしいのでしょうか。どうしてもエラーになってしまいます。 イメージとしてはこんな感じです。 select (select ~~ from tbl_A where ~~)+(select ~~ from tbl_B where ~~) (もしoracleならば,「from dual」というのを最後に付けるんですが。)

  • 曖昧検索LikeのOR条件

    アクセスでSQLを作成してます。 プロンプトで3つ項目を入力(未入力時はその分を考慮しない) して一致するのを検索する場合 --------------------------- select * from TABLE where 項目名 in ([項目1],[項目2],[項目3]) --------------------------- とする事で出来ました。 ただ、今検索を曖昧検索にしようとしています。 --------------------------- select * from TABLE where 項目名 like ("*" & [項目名1] & "*") or 項目名 like ("*" & [項目名2] & "*") or 項目名 like ("*" & [項目名3] & "*") --------------------------- 上記のようにするとプロンプトで未入力(リターン押下)時に 全てを検索対象にしてしまいます 未入力時は、そのプロンプトの条件自体を無効にしたいです。 何か良い方法はありますでしょうか?

  • アクセスのフォームにて指定する数字プラス%について

    教えてください。アクセスのフォーム作成のコーディングで、 先ほど、select * into A from B where C like '" & n2 & "' and date>=" & n3 & " と、日付はシングルコーテーションをはずし、 テキスト型は'" & n2 & "'このように指定すると教えていただきました。 もう1件質問なのですが、n2の中には後ろにスペースがはいってしまっていえるため、 like n2 % という形にしたいのですが、 like '" & n2% & "' ではうまくいきません。 どうしたらいいのでしょうか? よろしくお願いします。

このQ&Aのポイント
  • EP-709Aを使用し、新しいWindows11のPCへのデータコピー時にエラーが発生しました。この問題に対処するためにはどのような手順が必要でしょうか?
  • EP-709Aを使用していましたが、新しいWindows11のPCにデータをコピーしようとするとエラーが発生し、コピーができません。この問題の解決方法やサポートの方法について教えてください。
  • EP-709Aを使っていましたが、新しいWindows11のPCにデータをコピーしようとした際にエラーが発生し、コピーができなくなりました。この問題に対して適切な対応方法をご教示ください。
回答を見る