- 締切済み
WHERE句だと抽出できない VBA ADO
アクセスのADOについて質問があります。 SQL文の中でWHERE句を使ってフィルタをすると返り値が0件になるのに、 rs.Open strSQLした後に、 rs.Filterで抽出すると、適切な数値が返ります。 具体的に言うと 【1】 strSQL = "SELECT T_会社名.*, T_会社名.住所 FROM T_会社名 WHERE (((T_会社名.住所) Like ""*埼玉*""));" rs.Open strSQL, cn, adOpenKeyset, adLockOptimistic i = rs.RecordCount 【2】 strSQL = "SELECT T_会社名.*, T_会社名.住所 FROM T_会社名;" rs.Open strSQL, cn, adOpenKeyset, adLockOptimistic rs.Filter = "T_会社名.住所 like '%埼玉%'" i = rs.RecordCount だと、【2】が、適切な数値が返ります。 なぜ【1】はダメなのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- NotFound404
- ベストアンサー率70% (288/408)
回答No.2
ADO ではANSI-92 のワイルドカード%_・・・を DAO(クエリ)ではANSI-89 のワイルドカード*?・・・を採用したから。 詳しくは Access ワイルドカード文字リファレンス http://office.microsoft.com/ja-jp/access-help/HA010076601.aspx にて。
- bin-chan
- ベストアンサー率33% (1403/4213)
回答No.1
Likeの記述に差があるのはなぜ? ADOのワイルドカードキャラクタは 「【2】が、適切」