This example demonstrates how the AbsolutePosition property can track the progress of a loop that enumerates all the records of a Recordset. It uses the CursorLocation property to enable the AbsolutePosition property by setting the cursor to a client cursor.
'BeginAbsolutePositionVB Public Sub AbsolutePositionX() Dim rstEmployees As ADODB.Recordset Dim strCnn As String Dim strMessage As String ' Open a recordset for the Employee table ' using a client cursor. strCnn = "Provider=sqloledb;" & _ "Data Source=MyServer;Initial Catalog=Pubs;User Id=sa;Password=; " Set rstEmployees = New ADODB.Recordset ' Use client cursor to enable AbsolutePosition property. rstEmployees.CursorLocation = adUseClient rstEmployees.Open "employee", strCnn, , , adCmdTable ' Enumerate Recordset. Do While Not rstEmployees.EOF ' Display current record information. strMessage = "Employee: " & rstEmployees!lname & vbCr & _ "(record " & rstEmployees.AbsolutePosition & _ " of " & rstEmployees.RecordCount & ")" If MsgBox(strMessage, vbOKCancel) = vbCancel _ Then Exit Do rstEmployees.MoveNext Loop rstEmployees.Close End Sub 'EndAbsolutePositionVB
AbsolutePosition Property | CursorLocation Property | Recordset Object