This example demonstrates how the BOF and EOF properties let the user move forward and backward through a Recordset.
Sub BOFX()
Dim dbsNorthwind As Database
Dim rstCategories As Recordset
Dim strMessage As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set rstCategories = _
dbsNorthwind.OpenRecordset("Categories", _
dbOpenSnapshot)
With rstCategories
' Populate Recordset.
.MoveLast
.MoveFirst
Do While True
' Display current record information and get user
' input.
strMessage = "Category: " & !CategoryName & _
vbCr & "(record " & (.AbsolutePosition + 1) & _
" of " & .RecordCount & ")" & vbCr & vbCr & _
"Enter 1 to go forward, 2 to go backward:"
' Move forward or backward and trap for BOF or EOF.
Select Case InputBox(strMessage)
Case 1
.MoveNext
If .EOF Then
MsgBox _
"End of the file!" & vbCr & _
"Pointer being moved to last record."
.MoveLast
End If
Case 2
.MovePrevious
If .BOF Then
MsgBox _
"Beginning of the file!" & vbCr & _
"Pointer being moved to first record."
.MoveFirst
End If
Case Else
Exit Do
End Select
Loop
.Close
End With
dbsNorthwind.Close
End Sub