適用対象
| Form オブジェクト |
|---|
RecordsetType プロパティを使用すると、フォームで使用できるレコードセットの種類を指定できます。 読み取り/書き込み。
expression.RecordsetType
式 必須。 [適用対象] リストのいずれかのオブジェクトを返す式。
解説
[RecordsetType/レコード セット] プロパティは、Microsoft Access データベース (.mdb または .accdb) の次の設定を使用します。
| 設定 | Visual Basic | 説明 |
|---|---|---|
| Dynaset/ダイナセット | 0 | (既定値) 1 つのテーブルまたは一対一リレーションシップが指定されたテーブルに基づいて連結コントロールを編集できます。 一対多リレーションシップが指定されたテーブルのフィールドに連結されているコントロールの場合は、テーブル間で連鎖更新が有効に設定されていない限り、"一" 側の結合フィールドからデータを編集することはできません。 |
| Dynaset (Inconsistent Updates)/ダイナセット (矛盾を許す) | 1 | フィールドに連結されたすべてのテーブルとコントロールを編集できます。 |
| Snapshot/スナップショット | 2 | フィールドに連結されたテーブルまたはコントロールは編集できません。 |
注
フォームがフォーム ビューまたはデータシート ビューにあるときに、バインドされたコントロール内のデータが編集されない場合は、 RecordsetType プロパティを Snapshot に設定できます。
RecordsetType プロパティは、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 プロパティを Snapshot に設定します。
Sub Form_Open(Cancel As Integer)
Const conSnapshot = 2
If gstrUserID <> "ADMIN" Then
Forms!Employees.RecordsetType = conSnapshot
End If
End Sub