If this is being used in a Multi-User environment, it needs to be the last code in the Form_BeforeUpdate event, so that it is assigned in the last nanosecond before the Record is actually saved. Placed elsewhere, in a M/U environment, and you run the chance that two users will have the same number assigned to the Record they're entering. In over a decade of doing this kind of thing, in the Form_BeforeUpdate event, I've never had a 'duplication' problem.
If this is a Single-User environment , it could be done in the Form_Current event.
Done in the Form_Current event, it will appear on the Record immediately.
Done in the Form_BeforeUpdate event, it will not be assigned and therefore will not be displayed until the Record is saved, i.e after you leave the Record and then return to it, in one way or the other, or explicitly save the Record.
How, exactly, are you 'expecting' this to work?
Linq ;0)>
The problem with making anything foolproof...is that fools are so darn ingenious!
All posts/responses based on Access 2003/2007