The Form_BeforeInsert event is the earliest possible time in the creation of a New Record to do this task, and, as I said, it really needs to be in the Form_BeforeUpdate event, the last possible moment before saving the Record!
If you simply must do things in this fashion, you'll have to explicitly save the Record immediately after assigning the unique number:
Code:
Private Sub Form_BeforeInsert(Cancel As Integer)
Me.[Report No] = Nz(DMax("[Report No]", "[NCR Register 2000]") + 1, 1)
DoCmd.RunCommand acCmdSaveRecord
End Sub
Linq ;0)>