Access (VBA)

Access VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Pro : Access 2016)
レコードロックされている状態かどうか
投稿日時: 19/03/13 13:52:05
投稿者: あん

皆様、よろしくお願いいたします。
 
Accessのバージョンは2019です。
 
オプション設定で、編集済みレコードをロックする設定になっています。
 
フォームであるレコードを一人が編集中に、同じフォームで同じレコードを別の一人が編集しようとすると、
書き換えられない状態になっています。
 
このレコードロック状態かどうかを調べる手段は何かありますか?

回答
投稿日時: 19/03/13 16:36:51
投稿者: Suzu

書き換え「よう」とする時に判るのでは不十分なのですか?
 
・何のために、レコード状態を取得したいのでしょうか?
・そのレコード状態を、どんな間隔で更新するおつもりですか? それとも更新しないのかな?
・その状態を、どのタイミングで取得するのでしょうか?
 
 
簡単なのは、レコードセットで開いて、変更しようとしてみる事だと思いますよ。
 
要は、
・トランザクションを有効にした状態でフォームのカレントを含む部分をレコードセットとして開く
・UpDateメソッドを発行
  成功すれば ロックなし、失敗すれば、ロックあり。 と判定できます。
・トランザクションに対し、ロールバック。レコードセットを閉じる。
 
或いは、
トランザクションを使用せずに、レコードセットの値をどこかに退避させ、値を変更しUpDate。
UpDate後、元の値にし、再びUpDate。
 
 
さて、それを、どのタイミングでご所望?
質問文からは、Currentイベントで欲しそうですが、わざわざCurrentで上記を実行するの?
ナンセンスですよね。
 
素直にAccessに任せるのが一番と思います。

投稿日時: 19/04/15 21:34:01
投稿者: あん

suzuさん、回答ありがとうございます。
分かりました。accessに任せてみます。