MS Access 2007-2010で作成されたアプリケーションがあり、バックエンドはSQLデータベースです。
新しいデータベースを構築した後、AccessレポートでSQLのレコードを表示すると、実行時エラー3197で新しい入力結果を編集または入力しようとしました。
特定のエラーは次のように述べています:このレコードは、編集を開始してから別のユーザーによって変更されました
次に、[クリップボードにコピー]オプションと[変更をドロップ]オプションがありますが、[レコードの保存]はグレー表示されています。ドロップ変更をクリックすると、エラーが発生します。
「ランタイムエラー'3197'あなたと別のユーザーが同じデータを同時に変更しようとしているため、MicrosoftAccessデータベースエンジンがプロセスを停止しました。」
次に、SQLを調べ、EXEC sp_who2'Active'を使用してデータベースにクエリを実行しました。SQLに使用するユーザー名はRUNNABLEであり、Accessアプリケーション(Access VBAでコード化)で使用されるユーザーはSUSPENDED(コマンドit SELECTで中断されます)。
同じように構築され、問題なく動作する他のデータベースがあります。Accessで実行されているときに動作中のデータベースでsp_who2を確認しましたが、「問題のある」データベースでSUSPENDEDされているユーザーは、このデータベースでスリープしています。
両方のデータベースのアクセス許可を確認し、[セキュリティ]-> [ログイン]でユーザーのアクセス許可を確認しましたが、問題としてフラグを立てることができるものは何も表示されません(おそらく他の誰かができますか?)。
これが発生している理由と、データベースがSQLユーザーによってロックされており、Accessユーザーが関連するレコードを更新できない理由がわかりません。
誰かがこの問題に光を当てることができますか?
ありがとう。