十分に文書化されたエラーが表示されます:
SELECT DISTINCT が指定されている場合は、ORDER BY 項目が選択リストに含まれている必要があります。
これが私のSQLステートメントです:
INSERT INTO PropertyList
(PropertyID, Initials)
SELECT DISTINCT P.PropertyID, "vSTEBCodes"
FROM Property AS P INNER JOIN ValiditySTEBCodes AS VC
ON P.ControlNumber=VC.ControlNumber
ご覧のとおり、ORDER BY ステートメントは見えません。おそらくそこには暗黙の ORDER BY がどこかにあるのでしょうが、私には見えません。
SQL Server 2008 バックエンドにリンクされている MS Access のリンク テーブルに対してこのステートメントを実行しています。Access 2002 のフル バージョンから実行すると、問題なく実行されます。Access 2000 ランタイムから実行しようとすると、次のエラーが表示されます。
Access では、クエリを ODBC ソース (特に複数レコードの INSERT と UPDATE) に転送する前に、バックグラウンドでクエリを書き直す傾向があることを知っています。私はそれが問題かもしれないと考えています。