Indicates the type of cursor used in a Recordset object.
Settings and Return Values
Sets or returns a Long value equal to one of the following constants:
Constant |
Value |
Description |
adOpenForwardOnly |
0 |
Forward-only cursor. Identical to a static cursor except that you can only scroll forward through records. This improves performance in situations when you only need to make a single pass through a recordset. (Default.) |
adOpenKeyset |
1 |
Keyset cursor. Like a dynamic cursor, except that you can't see records that other users add, although records that other users delete are inaccessible from your recordset. Data changes by other users are still visible. |
adOpenDynamic |
2 |
Dynamic cursor. Additions, changes, and deletions by other users are visible, and all types of movement through the recordset are allowed, except for bookmarks if the provider doesn't support them. |
adOpenStatic |
3 |
Static cursor. A static copy of a set of records that you can use to find data or generate reports. Additions, changes, or deletions by other users are not visible. |
Remarks
Use the CursorType property to specify the type of cursor that should be used when opening the Recordset object. The CursorType property is read/write when the recordset is closed and read-only when it is open.
If a provider does not support the requested cursor type, the provider may return another cursor type. To verify specific functionality of the returned cursor, use the Supports method.
The following chart shows the functionality of each cursor type with respect to the Supports method constants.
CursorType |
Supports |
adOpenForwardOnly |
adAddNew, adDelete, adUpdate, adUpdateBatch |
adOpenKeyset |
adAddNew, adDelete, adMovePrevious, adUpdate, adUpdateBatch |
adOpenDynamic |
adAddNew, adBookmark, adDelete, adHoldRecords, adMovePrevious, adResync, adUpdate, adUpdateBatch |
adOpenStatic |
adAddNew, adBookmark, adDelete, adHoldRecords, adMovePrevious, adResync, adUpdate, adUpdateBatch |
Note Although Supports(adUpdateBatch) may be true for dynamic and forward-only cursors, you should use batch updating only with either a keyset or static cursor.