The Bookmark property on a Recordset object returns a bookmark that uniquely identifies the current record in a Recordset object or sets the current record in a Recordset object to the record identified by a valid bookmark. This property sets or returns a Variant expression that evaluates to a valid bookmark.
FirstBookmark = recordset.Bookmark
recordset.Bookmark = PreviousBookmark
The Bookmark property is used to save the position of the current record and return to that record at any time. Bookmarks are available only in Recordset objects (host tables) that support the bookmark feature.
When a Recordset object is opened, each of its records has a unique bookmark. To save the bookmark for the current record, assign the value of the Bookmark property to a variable. To quickly return to that record at any time after moving to a different record, set the Recordset object's Bookmark property to the value of that variable.
The user may not be able to view the value of the bookmark. Also, users should not expect bookmarks to be directly comparable—two bookmarks that refer to the same record may have different values.
If the Clone method is used to create a copy of a Recordset object, the Bookmark property settings for the original and the duplicate Recordset objects are identical and you can use them interchangeably. However, you cannot use bookmarks from different Recordset objects interchangeably, even if they were created from the same source or command.
Using the OLE DB Provider for AS/400 and VSAM, only some data sources can be bookmarked. Calling the Supports method with the adBookmark argument will indicate if the data source (table) can be bookmarked.