|
更新クエリを使ってますが、レコードソースにあるフィールドなら、フォーム上で更新した方がトラブルが少ないように思います。
Private Sub Form_Unload(Cancel As Integer)
On Error GoTo Err_LABEL
If PartsHensyu = True And Me!チェック4 = True Then
Me!チェック4 = False
End If
Exit_LABEL:
Exit Sub
上記で改善しないなら、処理全体を見直した方がいいと思います。
>このとき、他のユーザーがこのデータを編集できないようにそのレコードにフラグを立て(チェックON)、ガードするようにしています。
>
>編集フォームを閉じる時(Form_Unload)、更新クエリでフラグを下げる(チェックOFF)するようにVBAコードを書いたのですが、うまくいく時、いかない時があります。
> 複数人でデータベースをアクセスしているとNGなんでしょうか?
>
> 変数PartsHensyuはPublicで定義しています。
> Public PartsHensyu As Boolean
このフラグをいつ、どのように On にしてますか。
編集時に、フラグフィールドへの書き込みはどのようしてますか。
このあたりの整合がきちんととれているのでしょうか。
蛇足ですが、
私がするなら、更新フラグフィールドには、更新中のユーザー名あるいはPC名を書きこむようします。
そうすれば、更新ロックが長時間解除されない場合、更新中のユーザーに確認することができますので。
ついでに、更新開始時刻なども書きこんでおくといいかも。
|
|