この問題を検索すると、かなりの数の検索ヒットが返されますが、軌道から外れた回答が多いため、ここに簡潔な説明を投稿し、以下に回答します.
この問題は、Microsoft Access 2010 およびそれ以前のいくつかのバージョンで発生します。Access 2013 では、メモ型の名前が長いテキストに変更されました。同じ問題があるかどうかはわかりません。
根本的な問題は、特定の状況で、メモ フィールドを持つテーブルで UPDATE クエリを実行することに関連しています。これは、ビジュアル クエリ ウィンドウで構成された UPDATE クエリ、または DAO や ADO などを介して SQL を実行する VBA である可能性があります。または、フォームを介して更新中に発生する可能性があります。
(現在の投稿は、Access データベース内でのこの発生にのみ関係していますが、Access が外部データベース サーバーに接続されている場合の同様の問題についての議論を別の場所で見つけることができます。)
Access (またはおそらく Jet) は、すぐに明白なエラー アラートを生成する代わりに、値 #Error (単なる文字列 "#Error" ではありません!) をメモ フィールドに配置します。これは、後で気付くまで簡単に気付かれず、次のような目に見えるエラーが発生する可能性があります。
-- Compact と Repair を使用しています。これで完了したように見えますが、Access は静かに MSysCompactError テーブルを数行追加します。1 つのエラー -1611 は、Access が停止され、操作を完了できなかったことを訴えます。より具体的な 2 番目のエラーは、「説明」フィールドが見つからないというエラーです。これは、関連性のない内部エラーのようです。
-- テーブルを別のデータベースにコピーしようとしています。Access は、別のユーザーがテーブルを使用しているか、テーブルを更新したことを示すエラーを表示し、操作を完了しません。
-- 気付かないうちに、たまたま #Error 値が含まれている行に対する他の操作は失敗します。
とにかく、根本的な問題は、最初に #Error 値がメモ フィールドに配置される原因です。
多くの投稿者は、UPDATE が約 2000 文字を超える文字列をメモ フィールドに入力しようとした場合に発生することを指摘しています。UI を介して 65k しか許可されていない場合でも、メモ フィールドはバージョンに応じて 1 ギガ以上の文字を保持できるはずなので、これは驚くべきことです。
では、2000 文字を超える更新時にエラーが発生するのはなぜですか?