適用対象
Form オブジェクト |
[RecordsetType/レコード セット] プロパティを使用すると、フォームで使用できるレコードセットの種類を指定できます。 読み取り/書き込み。
expression.RecordsetType
expression 必ず指定します。 [適用先] リスト内のいずれかのオブジェクトを返す式。
解説
[RecordsetType/レコード セット] プロパティは、Microsoft Access データベース (.mdb または .accdb) の次の設定を使用します。
設定 |
Visual Basic |
説明 |
Dynaset/ダイナセット |
0 |
(既定値) 1 つのテーブルまたは一対一リレーションシップが指定されたテーブルに基づいて連結コントロールを編集できます。 一対多リレーションシップが指定されたテーブルのフィールドに連結されているコントロールの場合は、テーブル間で連鎖更新が有効に設定されていない限り、"一" 側の結合フィールドからデータを編集することはできません。 |
Dynaset (Inconsistent Updates)/ダイナセット (矛盾を許す) |
1 |
フィールドに連結されたすべてのテーブルとコントロールを編集できます。 |
Snapshot/スナップショット |
2 |
フィールドに連結されたテーブルまたはコントロールは編集できません。 |
注: フォームがフォーム ビューやデータシート ビューのときに、連結コントロール内のデータを編集したくない場合は、[RecordsetTypeRecordsetType/レコード セット] プロパティを [スナップショット] に設定できます。
[RecordsetTypeRecordsetType/レコード セット] プロパティでは、Microsoft Access プロジェクト (.adp) の次の設定が使用されます。
設定 |
Visual Basic |
説明 |
Snapshot/スナップショット |
3 |
フィールドに連結されたテーブルまたはコントロールは編集できません。 |
Updatable Snapshot/更新可能なスナップショット |
4 |
(既定値) フィールドに連結されたすべてのテーブルとコントロールを編集できます。 |
注: このプロパティを設定するには、フォームのプロパティ シート、マクロ、Visual Basic for Applications (VBA) コードを使用します。
注: 開いているフォームまたはレポートの [RecordsetType/レコード セット] プロパティを変更すると、レコードセットが自動的に再作成されます。
基となっている複数のテーブルに基づくフォームを、フォーム上のコントロールにフィールドを連結して作成することができます。 [RecordsetType/レコード セット] プロパティの設定によって、これらのどの連結コントロールを編集するか制限できます。
また、[RecordsetType/レコード セット] によって提供されるコントロールを編集するほかに、フォームの各コントロールには、コントロールとその基になっているデータを編集できるかどうかを設定して指定する [Locked/編集ロック] プロパティがあります。 [Locked/編集ロック] プロパティが [はい] に設定されている場合、データは編集できます。
使用例
次の例では、ユーザー ID が ADMIN である場合にのみレコードを更新できます。 このコード サンプルは、パブリック変数 gstrUserID 値が ADMIN でない場合、[RecordsetType/レコード セット] プロパティを [スナップショット] に設定します。
Sub Form_Open(Cancel As Integer)
Const conSnapshot = 2 If gstrUserID <> "ADMIN" Then Forms!Employees.RecordsetType = conSnapshot End If End Sub