dポイントプレゼントキャンペーン実施中!

「1.htm」の入力フォームで入力された条件を、
「2.asp」に出力するASPを作成しました。
現状だと、「1.htm」で入力された条件の
完全一致のクエリ結果しか表示されません。
そこで、部分一致でも表示させようと考えています。
「*」を付ければいいのかと思うのですが、うまくいきません。
どうすればいいのでしょうか。
宜しくお願いします。

***1.htm****
<form method="POST" action="2.asp">
<input name="simei" type="text">
<input type="submit" value="検索">
</form>


***2.asp****
Set rs = db.Execute("SELECT * FROM test WHERE ((test.氏名) Like '" & simei & "')")
↑ここにLikeのところに*をつけたい

A 回答 (2件)

%で試してみてください。


ACCESSへの接続方法によりANSI SQLになる場合があるみたいです。

参考URL:http://office.microsoft.com/ja-jp/access/HA01231 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
%に変更したらできあました。
何度も回答ありがとうございました。

お礼日時:2007/12/07 14:41

ワイルドカードはDBによって違いがあります。


Accessなら*、SQLServerは%です。
SQLServerを例にすると
Set rs = db.Execute("SELECT * FROM test WHERE ((test.氏名) Like '%" & shimei & "%')")
見たいにLike '%・・・・%'と記述します。

この回答への補足

ためしに「氏名」テーブルに「佐藤*」を追加したらヒットしました。
「*」を文字列としてみているような気がします。
「*」を文字列としてしないようにすればいいと思うのですが、
どうしたらいいのでしょうか。
よろしくおねがいします。

補足日時:2007/12/07 12:40
    • good
    • 0
この回答へのお礼

記述していなくて申し訳ありません。
DBはアクセスです。
早速以下のように変更しましたが、
データをひっぱってきませんでした。
「*」を抜くと、問題なく動作するんですが。

Like '*" & shimei & "*'

どこがいけないのでしょうか。
よろしくおねがいします。

お礼日時:2007/12/07 12:24

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!