Form.RecordLocks プロパティ (Access)

RecordLocks プロパティを使用して、レコードのロック方法と、2 人のユーザーが同じレコードを同時に編集しようとするとどうなるかを判断します。 値の取得と設定が可能です。

構文

RecordLocks

expressionForm オブジェクトを表す変数です。

注釈

レコードを編集する場合、編集が完了する前に他のユーザーがそのレコードを変更できないように、そのレコードは自動的にロックされます。 対象がフォームの場合、" RecordLocks /レコードロック" プロパティは、マルチユーザー データベースのデータが更新されるときに、フォームの基になるテーブルまたはクエリのレコードをどのようにロックするかを示します。

" RecordLocks /レコードロック" プロパティは、Microsoft Office Access データベース (.mdb) のフォーム、レポート、またはクエリにのみ適用されます。

"RecordLocks/レコードロック" プロパティの設定値は次のとおりです。

Setting Visual Basic 説明
No Locks/しない 0 対象がフォームの場合、複数のユーザーが同時に同じレコードを編集できます。 これは "共有的" ロック状態とも呼ばれます。 2 人のユーザーが同じレコードに変更内容を保存しようとすると、2 番目にレコードを保存しようとしたユーザーにメッセージが表示されます。 このユーザーはレコードを破棄するか、レコードをクリップボードにコピーするか、または他のユーザーによる変更内容に上書きできます。 この設定値は通常、読み取り専用フォームまたはシングル ユーザー データベースで使用されます。 また、複数のユーザーが同じレコードを同時に変更できるようにするために、マルチユーザー データベースでも使用されます。
All Records/すべてのレコード 1 フォームがフォーム ビューまたはデータシート ビューで開かれている間、基になるテーブルまたはクエリ内のすべてのレコードはロックされます。 ユーザーはレコードを読み取ることはできますが、フォームが閉じられるまで、レコードを編集、追加、または削除することはできません。
Edited Record/編集済みレコード 2 (フォームとクエリのみ)レコードのページは、ユーザーがレコード内のフィールドの編集を開始するとすぐにロックされ、ユーザーが別のレコードに移動するまでロックされます。 そのため、レコードは一度に 1 人のユーザーのみが編集できます。 これは、"悲観的" ロックとも呼ばれます。

注:

[!メモ] 開いているフォームまたはレポートの " RecordLocks /レコードロック" プロパティを変更すると、自動的にレコードセットが再作成されます。

基になるテーブルまたはクエリを 1 人だけ使用するか、データに対するすべての変更を行う場合は、フォームの [ロックなし] 設定を使用します。

マルチユーザー データベースで、共有的ロック状態を使用し、ユーザーがフォームの同じレコードを編集しようとしたときに警告を出すようにするには、[No Locks/しない] に設定します。 複数のユーザーが同時にデータを編集できないようにするには、[編集済みレコード] 設定を使用します。

フォーム ビューまたはデータシート ビューでは、ロックされている各レコードのレコード セレクターにロック インジケーターが表示されます。

フォームの既定の RecordLocks プロパティ設定を変更するには、[ツール] メニューの [オプション] を選択し、[オプション] ダイアログ ボックスの [詳細設定] タブを選択し、[既定のレコード ロック] で目的のオプションを選択します。

ODBC データベースのフォーム、レポート、またはクエリ内のデータは、"RecordLocks/レコードロック" プロパティの設定値にかかわらず、[No Locks/しない] に設定されている状態になります。

次の使用例は、[従業員] フォームの RecordLocks プロパティを [編集済みレコード] に設定します (レコードの任意のフィールドの編集を開始するとすぐにレコードのページがロックされ、ユーザーが別のレコードに移動するまでロックされます)。

Forms("Employees").RecordLocks = 2

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。