お世話になっています。
さて、住所録があって、その住所の先頭と一致するレコードをSQLで抽出してその結果をレコードセットに代入したいのですが。
SQLは
"SELECT 住所録.住所 FROM 住所録 WHERE 住所録.住所 Like '" & str住所検索 & "*';"
というような感じです。(もうちょっといろいろあるけど)
それで、
rst.Open strSQL, CurrentProject.Connection, adOpenStatic, adLockReadOnly, adCmdText
rstはADOのレコードセットで、strSQLには上記のSQL文が代入されています。str住所検索には、検索したい住所の一部が代入されています。
これを実行すると、レコードセットにレコードが抽出されません。
WHERE句を
住所録.住所 = '" & str住所検索 & "';"
と完全一致にすると抽出します。
しかし、全部の住所が一致するレコードを集めたいわけではないので、これでは困ります。
ちなみに、クエリーで実行するとちゃんと集まります。
なんとか、レコードセットにあいまい検索の抽出結果を代入できないでしょうか?
ADOのレコードセットにはLike演算子は使えないのでしょうか?
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
ワイルドカードを * では無く % を指定してみてください。
な、なんと!
抽出しました。
今までアスタリスクとかクエッションマークとかは知っていましたけど、パーセントもあるんですね。
勉強になりました。
ありがとうございます。
でも、あんまりにもあっさりの回答で、もう少し詳しく知りたい気もしますが、後で自分で調べて見ます。
とにかく、うまくいって、うれしいしだいです。
ありがとうございます。
No.2
- 回答日時:
http://www.ash.or.jp/db/sql.htm
をご参照。これらに書いてあり、また#1でご指摘のように%で旨く行く。
(例)住所録1
ID郵便番号県名住所氏名
12302345神奈川県横浜市山田
22311122埼玉県熊谷市宇野
32345555栃木県宇都宮市高松
43331111京都府京都市大川
52221111埼玉県川口市鈴木
64442222埼玉県川口市川村
72221111埼玉県蕨市近藤
84441111埼玉県さいたま市田中
96662222埼玉県南川口市小野
(コード)
Sub test05()
Dim conn As Connection
Dim rs As ADODB.Recordset
Dim strSql As String
Set conn = CurrentProject.Connection
Set rs = New ADODB.Recordset
rs.Source = "住所録1"
str住所検索 = "川口市"
'strSql = "SELECT 住所録1.住所 FROM 住所録1 WHERE 住所録1.住所 Like '" & str住所検索 _
'& "*';"
strSql = "SELECT 住所録1.住所 FROM 住所録1 WHERE 住所録1.住所 like '%" & str住所検索 & "';"
rs.Open strSql, CurrentProject.Connection, adOpenStatic, adLockReadOnly
Do Until rs.EOF
MsgBox rs![住所].Value
rs.MoveNext
Loop
rs.Close
End Sub
を実行すると、
川口市
川口市
南川口市(現実にはこんな市はありませんが)
がMsgboxで表示されます。
ありがとうございます。
URLのサイトを見ました。
なるほど、SQLでは%だったんですね。
私は、SQLをうまく作れないので、
クエリーのデザインで作ったやつを
コピーして加工してました。
なので、クエリーで動くのはSQLでも動くと思っていたのですが、
(実際、今までOKでした)
今回、ワイルドカードが使えなく、困ってしまったしだいです。
勉強になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- その他(IT・Webサービス) 2点の住所を入力して直線距離を算出する方法・サイト 1 2023/02/22 16:52
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Amazon Amazonコンビニ受け取り AmazonでSwitchのソフトの予約商品をコンビニ受け取りにして注 1 2022/03/31 15:45
- 自動車ローン・自動車保険・車両保険 車検証と自賠責の住所の不一致 3 2022/07/12 23:40
- いじめ・人間関係 闇バイト依頼になるかどうか 2 2023/06/03 07:28
- その他(ネットショッピング・通販・ECサイト) スニーカー通販株式会社について 4 2023/08/08 23:52
- その他(ビジネス・キャリア) 国税庁法人番号公表サイトの検索で会社の名前入れて所在区や郵便番号入れて情報が出てこない 2 2023/04/30 10:00
- Oracle sqlで質問です。 idを元にidに紐付くデータで住所コードがjpのみのデータ以外のidを取得したい 4 2023/03/20 17:41
- 結婚・離婚 婚姻届に書く住所欄について。 2 2022/04/15 10:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
好きな人の住所って知りたくな...
-
インターネットが最安になる戸...
-
ハイパーリンクを使用してエク...
-
このドイツ語の意味は。。。?
-
エクセルで、半角文字列を抽出...
-
Accessの住所を分割するメリッ...
-
当方の住所ってどういう事です...
-
ExcelやAccessで住所と番地を分...
-
住所から最寄の駅を調べる方法
-
バイトから渡された検便の封筒...
-
Accessで半角→全角に変更したい
-
筆まめの宛名を2行で表示する...
-
Orchisの設定ファイルはどこに?
-
ワードで宛名印刷、番地部分が...
-
筆まめVer.29はwindows11で動作...
-
筆まめナンバリング印刷
-
筆ぐるめのレイアウト画面はコ...
-
「筆まめ」起動時に常に住所録...
-
合併による市町村名変更 旧住所...
-
はがきスタジオのデータ移管に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
好きな人の住所って知りたくな...
-
ExcelやAccessで住所と番地を分...
-
バイトから渡された検便の封筒...
-
エクセルで、半角文字列を抽出...
-
インターネットが最安になる戸...
-
プリクラで住所ってバレますか?
-
このドイツ語の意味は。。。?
-
エクセルで作成した住所録から...
-
郵便局留めは受取人の住所を書...
-
Accessで半角→全角に変更したい
-
裏に新しい住所が記された免許...
-
ハイパーリンクを使用してエク...
-
キャバクラ嬢が教える住所について
-
タクシー乗って行きたいところ...
-
住所を揃えるにはどうしたらい...
-
差し込み印刷で住所が途中で切...
-
ネット閲覧で住所がバレる!?
-
お香典、住所はどこに書く?
-
Access-郵便番号と住所の整合チ...
-
Excelで作った2つの住所録の結...
おすすめ情報