Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Applies to

Form Object

You can use the RecordsetType property to specify what kind of recordset is made available to a form. Read/write.

expression.RecordsetType

expression Required. An expression that returns one of the objects in the Applies To list.

Remarks

The RecordsetType property uses the following settings in a Microsoft Access database (.mdb or .accdb).

Setting

Visual Basic

Description

Dynaset

0

(Default) You can edit bound controls based on a single table or tables with a one-to-one relationship. For controls bound to fields based on tables with a one-to-many relationship, you can't edit data from the join field on the "one" side of the relationship unless cascade update is enabled between the tables.

Dynaset (Inconsistent Updates)

1

All tables and controls bound to their fields can be edited.

Snapshot

2

No tables or the controls bound to their fields can be edited.

Note: If you don't want data in bound controls to be edited when a form is in Form view or Datasheet view, you can set the RecordsetType property to Snapshot.

The RecordsetType property uses the following settings in a Microsoft Access project (.adp).

Setting

Visual Basic

Description

Snapshot

3

No tables or the controls bound to their fields can be edited.

Updatable Snapshot

4

(Default) All tables and controls bound to their fields can be edited.

Note: You can set this property by using a form's property sheet, a macro, or Visual Basic for Applications (VBA) code.

Note: Changing the RecordsetType property of an open form or report causes an automatic recreation of the recordset.

You can create forms based on multiple underlying tables with fields bound to controls on the forms. Depending on the RecordsetType property setting, you can limit which of these bound controls can be edited.

In addition to the editing control provided by RecordsetType, each control on a form has a Locked property that you can set to specify whether the control and its underlying data can be edited. If the Locked property is set to Yes, you can't edit the data.

Example

In the following example, only if the user ID is ADMIN can records be updated. This code sample sets the RecordsetType property to Snapshot if the public variable gstrUserID value is not ADMIN.

Sub Form_Open(Cancel As Integer)    Const conSnapshot = 2    If gstrUserID <> "ADMIN" Then        Forms!Employees.RecordsetType = conSnapshot    End IfEnd Sub

Need more help?

Want more options?

Explore subscription benefits, browse training courses, learn how to secure your device, and more.

Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.