VBAからADOを経由してLIKE句にワイルドカード含むSQL文を発行すると正常に実行されない

VBAからADOを経由してLIKE句にワイルドカードを含むSQL文を発行すると、正常に実行されない問題を解消した方法を説明していきます。

現象

table1のID前方に「Test_00」が付くレコードを抽出するSQLです。

VBAからADOを経由して実行した場合、対象のレコードが存在した場合でも返却されません。

SELECT * FROM table1 WHERE id LIKE "Test_00*"

解決方法

ADO経由でSQLを発行する場合、「*」を「%」置き換える必要があるようです。

SELECT * FROM table1 WHERE id LIKE "Test_00%"
タイトルとURLをコピーしました