単なるアイデアですが、データベースをアップグレードして、テーブル自体が実際に SQL Server に格納され、Access がフロント エンドになることを考えたことはありますか? 少し時間が経ちましたが、私の記憶が正しければ、Access には、これを行うのに役立つウィザード (ヤバイ!) があるはずです。
古い ADO では、カーソルまたはロックの種類のメカニズムを次のいずれかに設定できました。
カーソルの種類
adOpenForwardOnlyこの種類のカーソルは、レコードセット内を前方に移動するためにのみ使用できます。このオプションは、リスト ボックスまたはコンボ ボックスに値を設定する場合に使用します。
adOpenKeysetこれは、レコードセットに影響を与える可能性のあるデータに変更が加えられたときに通知されないため、大きなレコードセットが予想される場合に使用するのに最適な種類のカーソルです。
adOpenDynamicこのカーソルを使用すると、レコードセットに影響を与える、他のユーザーによって行われたすべての変更を確認できます。これは最も強力なタイプのカーソルですが、最も遅いタイプです。
adOpenStatic静的カーソルは、レコードセットが小さい場合に便利です。
ロックタイプ
adLockReadonlyこのロック モードは、レコードセットからの追加、更新、または削除が許可されていない場合に使用されます。
adLockPesimisticペシミスティック ロックでは、レコードは編集が開始されるとすぐにロックされ、編集が完了するまでロックされたままになります。
adLockOptimisticこれは、更新メソッドがレコードで呼び出されたときに発生します。レコードは編集中でもロック解除されますが、変更がデータベースに保存されると一時的にロックされます
adLockBatchOptimisticこのオプションを使用すると、レコードのバッチを更新するときに楽観的ロックを実行できます
それが .NET の世界に正確にどのように変換されるかはわかりませんが、これで正しい方向に進むことができるかもしれません。