私のSQLクエリは次のとおりです。
SELECT * FROM Suppliers
WHERE SupplierName
LIKE 's%';
W3 School の TryIt エディター (v1.2) ( http://www.w3schools.com/sql/trysql.asp?filename=trysql_select_like ) でこのクエリを送信すると、SupplierName が文字で始まる多数のレコードが返されます。 「S」、予想通り。
ただし、Access 2013 の自分のデータベースでこのクエリを実行すると、テーブル名とフィールド名が W3 のサンプルと同じであるにもかかわらず、レコードが返されません。
「LIKE」を使用しないクエリは問題なく動作するようです。たとえば、次のようになります。
SELECT * FROM Suppliers
WHERE SupplierName="Part Supplier, Inc.";
適切なレコードを返します。Access がレコードをまったく返さないのは、'LIKE' が使用されている場合のみです。
私の質問は、LIKE クエリがレコードを返さない理由はありますか? バックエンドのデータ ソースは Microsoft JET データベース (これは比較的小さなデータベースであり、完全な SQL Server は必要ありません) ですが、これで違いが生じるとは思いません。クエリを実行しても、Access は構文について文句を言ったり、エラーをスローしたりしません。