AbsolutePosition Property Example

This example uses the AbsolutePosition property to track the progress of a loop that enumerates all the records of a Recordset.

Sub AbsolutePositionX()

   Dim dbsNorthwind As Database
   Dim rstEmployees As Recordset
   Dim strMessage As String

   Set dbsNorthwind = OpenDatabase("Northwind.mdb")
   ' AbsolutePosition only works with dynasets or snapshots.
   Set rstEmployees = _
      dbsNorthwind.OpenRecordset("Employees", _
      dbOpenSnapshot)

   With rstEmployees
      ' Populate Recordset.
      .MoveLast
      .MoveFirst

      ' Enumerate Recordset.
      Do While Not .EOF
         ' Display current record information. Add 1 to 
         ' AbsolutePosition value because it is zero-based.
         strMessage = "Employee: " & !LastName & vbCr & _
            "(record " & (.AbsolutePosition + 1) & _
            " of " & .RecordCount & ")"
         If MsgBox(strMessage, vbOKCancel) = vbCancel _
            Then Exit Do
         .MoveNext
      Loop

      .Close
   End With

   dbsNorthwind.Close

End Sub