1

私の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 は構文について文句を言ったり、エラーをスローしたりしません。

4

1 に答える 1