Goal: To enter data into field N2 while the program counts the records and automatically enters the current number into N1.

Problem: I start the program and entered a single piece of data, then exit and restart and enter another single piece of data. When I look in the database the first entry is 0 and the second is 7.
I've used debug and verified the .recordcount is at seven immediately after "with data2.recordset" is executed, in other words no other module could be contributing to this problem. The only time it counts correctly is the first time through weather it's one entry or ten as a matter of fact after ten entry's I got a record count of 0 - 9. stop/restart and entered one piece of data and the .recordcount jumped to seventeen!!

Question: WHAT'S THE DEAL?!?!?!

Below is the code!!

Private Sub Form_Activate()
TotalRecords% = 0
With Data2.Recordset
If .BOF = True And .EOF = True Then GoTo Quit
.MoveLast
TotalRecords% = .RecordCount
.MoveFirst
TotalRecords% = .RecordCount
End With
Quit:
End Sub