Bookmark Property

Applies To

OraDynaset Object


Determines the current record of a record set. Not available at design time and read/write at run time.


row_bookmark = oradynaset.Bookmark
oradynaset.Bookmark = row_bookmark

Data Type

The value is a string of binary data, but can be stored in a variable of String or Variant data type. The length of the string cannot be predicted, so do not use a fixed-length string.


The first form returns a Bookmark property for the current row. The second form repositions the Bookmark property to refer to a specific record within the dynaset.

Bookmark objects exist only for the life of the dynaset and are specific to a particular dynaset. They cannot be shared among dynasets. However, Bookmark objects of a dynaset and their clones are interchangeable.

Before attempting to use Bookmark objects, check the BookMarkable property of that dynaset to see if it supports bookmarks.


This example demonstrates the use of the Bookmark property to return to a previously known record quickly. Copy and paste this code into the definition section of a form. Then, press F5.

Sub Form_Load ()
 'Declare variables as OLE Objects.
 Dim OraClient As OraClient 
 Dim OraSession As OraSession 
 Dim OraDatabase As OraDatabase 
 Dim OraDynaset As OraDynaset 
 Dim Bookmark2 As String
 'Create the OraSession Object.
 Set OraSession = CreateObject("OracleInProcServer.XOraSession")
 'Get the client object.
 Set OraClient = OraSession.Client
 'Create the OraDatabase Object by opening a connection to Oracle.
 Set OraDatabase = OraSession.OpenDatabase("ExampleDb", "scott/tiger", 0&)
 'Create the OraDynaset Object.
 Set OraDynaset = OraDatabase.CreateDynaset("select * from emp", 0&)
 'Move to the second record and display empno.
 MsgBox "Second Record, Employee #" & OraDynaset.Fields("EMPNO").value
 Bookmark2 = OraDynaset.Bookmark
 'Move to the last record and display empno.
 MsgBox "Last Record, Employee #" & OraDynaset.Fields("EMPNO").value
 'Move back to the second record using the bookmark.
 OraDynaset.Bookmark = Bookmark2
 MsgBox "Second Record, Employee #" & OraDynaset.Fields("EMPNO").value
End Sub