適用対象

Form オブジェクト

Report オブジェクト

RecordLocks プロパティを使用すると、レコードのロック方法と 2 人のユーザーが同じレコードを同時に編集しようとしたときの動作を決定できます。 読み取り/書き込み。

expression.RecordLocks

expression 必ず指定します。 [適用対象] ボックスの一覧にあるオブジェクトのいずれかを返す式。

解説

レコードの編集を始めると、Microsoft Office Access 2007 はそのレコードを自動的にロックし、編集が完了するまで他のユーザーが変更できないようにします。

  • フォーム。 マルチユーザー データベースのデータが更新されたとき、基礎となるテーブルまたはクエリのレコードがロック済みされる方法を指定します。

  • レポート。 レポートがプレビューまたは印刷されている間、基礎となるテーブルまたはクエリのレコードをロックするかどうかを指定します。

  • クエリ。 クエリが実行されている間、クエリ (一般的に、マルチユーザー データベースのアクション クエリ) のレコードをロックするかどうかを指定します。

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

RecordLocks プロパティでは、次の設定が使用されます。

設定

Visual Basic

説明

ロックなし

0

(既定) フォームの場合、2 人以上のユーザーが同じレコードを同時に編集できます。 これは "楽観的" ロックとも呼ばれています。 2 人のユーザーが同じレコードを変更した上で保存しようとすると、Access は 2 人目のユーザーにメッセージを表示します。 このユーザーはレコードを破棄するか、クリップボードにコピーするか、他のユーザーが行った変更を採用できます。 この設定は一般的に読み取り専用フォームまたはシングルユーザー データベースで使用されます。 複数のユーザーが同じレコードを同時に変更できるように、マルチユーザー データベースで使用されることもあります。

レポートの場合、レポートがプレビューまたは印刷されている間、レコードはロックされません。

クエリの場合、クエリの実行中、レコードはロックされません。

すべてのレコード

1

フォーム ビューまたはデータシート ビューでフォームを開いている間、レポートがプレビューまたは印刷されている間、あるいはクエリの実行中、基礎となるテーブルまたはクエリのすべてのレコードがロックされます。 ユーザーはレコードを読み取ることができますが、フォームが閉じられるか、レポートの印刷が終わるか、クエリの実行が終わるまで誰もレコードを編集、追加、削除できません。

編集済みのレコード

2

(フォームとクエリのみ) ユーザーがレコード内のフィールドの編集を始めるとレコードのページがロックされ、ユーザーが別のレコードに移るまでロック状態が維持されます。 結果的に、レコードを編集できるのは一度に 1 ユーザーに限られます。 これは "排他的" ロックとも呼ばれています。


注: このプロパティを設定するには、フォームのプロパティ シート、マクロ、または Visual Basic for Applications (VBA) コードを使用します。

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

基礎となるテーブルまたはクエリを使用する、あるいはデータのすべての変更を行うユーザーが 1 人だけの場合、フォームにロックなし設定を利用できます。

マルチユーザー データベースの場合、楽観的ロックを使用し、フォームの同じレコードを編集しようとするユーザーに警告する場合、ロックなし設定を利用できます。 2 人以上のユーザーがデータを同時に編集することを禁止する場合、編集済みレコード設定を利用できます。

自分がレポートのプレビューまたは印刷、あるいは追加、削除、表作成、更新クエリの実行を始めたらデータが変更されないようにするとき、すべてのレコード設定を利用できます。

フォーム ビューまたはデータシート ビューでは、ロックされているレコードのレコード セレクターにロック済みと表示されます。

ヒント

フォームの既定の RecordLocks プロパティ設定を変更するには、Microsoft Office ボタン Office ボタンの画像 をクリックし、[Access のオプション] をクリックします。 [Access のオプション] ダイアログ ボックスで [詳細設計] をクリックし、[既定のレコード ロック] でオプションを選択します。

ODBC (Open Database Connectivity) データベースからのフォーム、レポート、クエリのデータは、RecordLocks プロパティ設定に関係なく、ロックなし設定が選択されたように扱われます。

次の例では、"Employees" フォームの RecordLocks プロパティが編集済みレコードに設定されます (ユーザーがレコード内のフィールドの編集を始めるとレコードのページがロックされ、ユーザーが別のレコードに移るまでロック状態が維持されます)。

Forms("Employees").RecordLocks = 2

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Office Insider に参加

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

ご意見をいただきありがとうございます。

×