"RecordsetType/レコードセット" プロパティ

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

適用対象

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