• ベストアンサー

ADOでのSQLついて

こんにちは! ASPでADOを利用してSQLを使っていまして、 任意の文字列検索をやりたいのですが、うまくヒットしません。 AccessでのSQLで、likeを使った ((フィールド名) Like "*文字列*")を使いたいのですが、 ASPではアスタリスク*がうまく認識されていないような気がします。 うまくやる方法は無いのでしょうか?

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

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

ADOを利用しているのでしたら、 *(アスタリスク)でなくて %(パーセント)を使用してみてください。

toshi_1919
質問者

お礼

うまくいきました。 助かりました。ありがとうございます。

その他の回答 (1)

  • selenity
  • ベストアンサー率41% (324/772)
回答No.1

惜しいですね。 世間一般的なデータベースでは、「%」や「_」をワイルドカードとして使用します。

toshi_1919
質問者

お礼

おっしゃる通りでした。 ありがとうございました。

関連するQ&A

  • Access 特殊文字

    Accessのあるテーブルのフィールドに、「*」という文字列がはいったものがあります。 たとえば、「*001」とか「*452」とかです。 これをLikeで検索するにはどんなSQLを書いたらいいのでしょう?? 教えて下さい!

  • Excel 2003 ADOの利用について。

    Excel 2003 ADOの利用について。 Excel 2003 ADOの利用について。 現在、ExcelのVBAからADOを利用して自分自身のシートよりデータの抽出を行うものを作っています。 Recordsetを取得する際に意味不明なエラーが発生し、原因が分からず悩んでおります。 コードは下記の様になっております。 SQL = "SELECT Col1 FROM [Sheet1$]" SQL = SQL & " WHERE" SQL = SQL & " Col1 > 10" SQL = SQL & " and Col5 like '" & TextBox1 & "%'" Set RS = New ADODB.Recordset RS.Open SQL, CN, adOpenStatic, adLockReadOnly TextBox1の値をCol5列に存在する値を入れてやると、エラーは発生せずRecordsetを 取得し値を得ることができるのですが、Col5列に存在しない値を入れると、RS.Open行で必ずエラーが出ます。 エラー内容は下記の通りです。 --------------------------------------- Run-time error '-2147217900 (80040e14)' 不明 --------------------------------------- どうぞよろしくお願い致します。

  • SQL ?で終わる

    アクセスのSQL文で、テーブルのフィールドの値が、最後が?で終わるものを抽出したいのですが SELECT テーブル.フィールド FROM テーブル WHERE (((テーブル.フィールド) Like "[*?]")); これだと1件も抽出されません。 Like "[*?]"が間違ってると思うのですが、どうすればいいでしょうか?

  • Excel上のSQLでReplace関数

    ExcelからADO経由でMDBにつないでいます。 SQLの中で文字列を更新したくてReplaceで置き換えようとした のですが、Accessのモジュール上でのSQLでは問題なくReplace が使えているのですが、Excelのマクロ上ではダメです。 この場合、どうしたらいいのでしょうか? ヨロシコ願いします。

  • SQLのLIKE検索で清音と濁音/半濁音を区別する

    VB2008+Accessでアプリケーションを開発しています。 SQLのLIKE検索では、清音と濁音/半濁音、ひらがなとカタカナ等を区別してくれないのですが、これを区別してくれる方法はないでしょうか? 例:(field1はテキスト型フィールド) SELECT * FROM tblA WHERE field1 LIKE '%グラス%' を実行すると、 「クラス」「思いめぐらす」なども検索されてしまいます。 これを、 「サングラス」「グラスワイン」などだけがヒットするようにしたいのです。 ちなみに、MySQLではコチラに回答がありました。 http://oshiete1.goo.ne.jp/qa3918969.html Accessだけが不可能で、SQLServerやOracleならできるかどうかも知りたいです。どうぞ宜しくお願いします。

  • ADOとADODB.Streamって同じものですか

    アクセスでデータベースにつなぐためにADOは良く使いますが ググってるとADODB.Streamがヒットする時が多々あります。 ADODB.StreamはADOと同じようなもの(データベースに接続する系)なのでしょうか? でもさらっと見てると文字コードを変換したり テキストにデータを書き込む記載が多いのですが、ADOとは別物ですか?

  • AccessのSQLについて教えてください。

    Excel+VBA から、ADOを使って、Accessを操作しようとしています。 なんとか、sqlを実行できるようになったのですが、 一点、分からないところが出てきましたので、教えてください。 insert文で、レコードを追加したとき、追加されたレコードのIDを取得したいのですが、 どのようにすれば良いかわかりません。 コードは次のようにしています。 cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & データベース名 & ";" sql = "INSERT INTO テーブル名(フィールド) VALUES(値)" cnn.Execute sql 以上、すみませんが、よろしくお願いいたします。

  • SQLサーバ、ADO、Accessなどなどの基本的な質問

    今回Webアプリケーション(データベース)をカスタマイズすることになり、 SQLサーバ、ADO、ASP、ODBC、CGI等々のキーワードが まわりで飛び交っているのですが、内容がまったくわからず、 参考書やヘルプで上記の言葉の意味を調べても、 どうもいまいちイメージが沸きません。 まったくの初心者にもわかりやすく、Webアプリのシステムイメージを 教えてもらえないでしょうか? わたしはAccessでしかデータベースを作成したことがない初心者です。 Webに関してもまったく無知なので。。 どなたかよろしくお願いいたします!

  • SQL(PostgreSQL) select文

    SQLを始めたのですが、少しつまずいたので、質問させてください。 住所録検索等で、 SELECT * FROM test WHERE name LIKE '%goo%'; と書くと、nameというカラム名から goo という文字列の入ったレコードを 検索できると思います。 そこで、この goo という文字列を test テーブル全体から検索したいのですが わかりません。 teat テーブル全体から(どこのカラム名からでも)検索の仕方を教えてください。 初歩的な質問ですみません。 参考HPでもかまいません。

  • SQL文で数字+指定文字列がヒットする記述方法

    mySQLを使ってます。 SQL文で以下のことが実現したいです。 フィールドに登録されている文字列が http://www.AAA.jp/BBB/CCC/08191.html/?cp=waribiki http://www.AAA.jp/shop/DDD/EEE/08191.html http://www.AAA.jp/shop/DDD/EEE/ZZZ.html というタイプがあります。 SQL文で検索結果を表示したいのは、 http://www.AAA.jp/shop/DDD/EEE/数字.html のように右から「数字.html」の場合のURLパスだけを抽出したいです。 SELECT * FROM `テーブル名` WHERE `フィールド名` LIKE '%html' とやってみましたが、 http://www.AAA.jp/shop/DDD/EEE/ZZZ.html というものもヒットしてしまうため 右から「数字.html」の場合だけのSQL文の書き方を教えていただけないでしょうか? よろしくお願い致します。

    • ベストアンサー
    • MySQL