As you can gather from this discussion answering your problem, you have found a tricky little topic.
If you want to absolutely guarantee sequential numbering, you cannot use an autonumber field to concatenate with anything else because there is no way to guarantee uniform number assignment. As noted, you can have gaps.
If you absolutely MUST have this numbering system, the key you suggested appears to have meaning. In general, this implies that autonumber is not the proper choice because autonumber has no other meaning except by accident.
Therefore, the DMax function is your next choice. However, as noted, you have the problem of destructive interference if two users are in your system at the same time and happen to hit the SAVE button at the same time.
If you MUST have uniform number, put a special SAVE button on the form and put some VBA code underneath it to do the save. TRAP ERRORS IN THIS CODE! Then, if the save fails due to key issues, you can: Call DoEvents (look that up in the Help files to see what it does), RECOMPUTE the key, wait for a random amount of time, and try again. Perhaps generate a random large long integer and count it down as a way to delay for some amount of time. DO NOT USE THE FORM TIMER EVENT to wait for the random time. You do not want the form to appear to be available until you succeed in storing the record.