
Understanding BOF and EOF in Microsoft Access Recordsets
BOF and EOF are easy to memorize in Access VBA, but understanding what they mean can save you from some very confusing recordset behavior. This episode explains why EOF alone does not prove a query returned no records, especially after code has moved past the last row. Learn how DAO recordsets track a current record, what happens when you use MoveNext or MovePrevious, and why BOF and EOF are boundary positions rather than actual records. The key empty-recordset test, rs.BOF And rs.EOF, makes much more sense once you can visualize what is happening. We also cover practical details such as where a normal recordset starts after OpenRecordset, why RecordCount can be misleading, and why navigation and deletions can affect what those flags tell you.


















