レコードのロック方法と、2 人のユーザーが同じレコードを同時に編集しようとした場合の動作を決定するには、 RecordLocks プロパティを使用します 。 値の取得と設定が可能です。
構文
式。RecordLocks
式: Report オブジェクトを表す変数。
解説
レコードを編集する場合、編集が完了する前に他のユーザーがそのレコードを変更できないように、そのレコードは自動的にロックされます。 対象がレポートの場合、"RecordLocks/レコードロック" プロパティは、レポートをプレビューまたは印刷するときに、レポートの基になるテーブルまたはクエリのレコードをロックするかどうかを指定します。
RecordLocks プロパティは、Access データベース内のフォーム、レポート、またはクエリにのみ適用されます。
"RecordLocks/レコードロック" プロパティの設定値は次のとおりです。
| Setting | Visual Basic | 説明 |
|---|---|---|
| No Locks/しない | 0 | (既定値) 対象がレポートの場合、レポートがプレビューまたは印刷されている間、レコードはロックされません。 対象がクエリの場合、クエリが実行されている間、レコードはロックされません。 これは "共有的" ロック状態とも呼ばれます。 |
| All Records/すべてのレコード | 1 | レポートのプレビュー、印刷、またはクエリの実行中は、基になるテーブルまたはクエリのすべてのレコードがロックされます。 ユーザーはレコードを読み取ることができますが、レポートまたはクエリが閉じられるまで、誰もレコードを編集、追加、削除できません。 |
| Edited Record/編集済みレコード | 2 | フォームとクエリにのみ適用されます。 レコードのページは、ユーザーがレコード内のフィールドの編集を開始するとすぐにロックされ、ユーザーが別のレコードに移動するまでロックされたままになります。 その結果、レコードは一度に 1 人のユーザーしか編集できません。 これは "悲観" ロックとも呼ばれます。 |
注:
[!メモ] 開いているフォームまたはレポートの " RecordLocks /レコードロック" プロパティを変更すると、自動的にレコードセットが再作成されます。
基になるテーブルまたはクエリを 1 人だけが使用するユーザーや、データに対するすべての変更を行った場合は、フォームの [ロックなし] 設定を使用します。
マルチユーザー データベースで、共有的ロック状態を使用し、ユーザーがフォームの同じレコードを編集しようとしたときに警告を出すようにするには、[No Locks/しない] に設定します。 2 人以上のユーザーが同時にデータを編集できないようにする場合は、[編集済みレコード] 設定を使用します。
レポートのプレビューまたは印刷を開始した後、または追加、削除、テーブルの作成、または更新クエリの実行を開始した後にデータに変更を加えないようにする必要がある場合は、[すべてのレコード] 設定を使用します。
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。