Recordset.Bookmarkable Property (DAO)

Office 2013 and later

Last modified: June 29, 2011

Applies to: Access 2013 | Office 2013

In this article

Returns a value that indicates whether a Recordset object supports bookmarks, which you can set by using the Bookmark property.

expression .Bookmarkable

expression A variable that represents a Recordset object.

Check the Bookmarkable property setting of a Recordset object before you attempt to set or check the Bookmark property.

For Recordset objects based entirely on Microsoft Access database engine tables, the value of the Bookmarkable property is True, and you can use bookmarks. Other database products may not support bookmarks, however. For example, you can't use bookmarks in any Recordset object based on a linked Paradox table that has no primary key.

This example uses the Bookmark and Bookmarkable properties to let the user flag a record in a Recordset and return to it later.

Sub BookmarkX() 
 Dim dbsNorthwind As Database 
 Dim rstCategories As Recordset 
 Dim strMessage As String 
 Dim intCommand As Integer 
 Dim varBookmark As Variant 
 Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
 Set rstCategories = _ 
 dbsNorthwind.OpenRecordset("Categories", _ 
 With rstCategories 
 If .Bookmarkable = False Then 
 Debug.Print "Recordset is not Bookmarkable!" 
 ' Populate Recordset. 
 Do While True 
 ' Show information about current record and get 
 ' user input. 
 strMessage = "Category: " & !CategoryName & _ 
 " (record " & (.AbsolutePosition + 1) & _ 
 " of " & .RecordCount & ")" & vbCr & _ 
 "Enter command:" & vbCr & _ 
 "[1 - next / 2 - previous /" & vbCr & _ 
 "3 - set bookmark / 4 - go to bookmark]" 
 intCommand = Val(InputBox(strMessage)) 
 Select Case intCommand 
 ' Move forward or backward, trapping for BOF 
 ' or EOF. 
 Case 1 
 If .EOF Then .MoveLast 
 Case 2 
 If .BOF Then .MoveFirst 
 ' Store the bookmark of the current record. 
 Case 3 
 varBookmark = .Bookmark 
 ' Go to the record indicated by the stored 
 ' bookmark. 
 Case 4 
 If IsEmpty(varBookmark) Then 
 MsgBox "No Bookmark set!" 
 .Bookmark = varBookmark 
 End If 
 Case Else 
 Exit Do 
 End Select 
 End If 
 End With 
End Sub