Michael and I really disagree on this subject. We've pretty much exhausted ourselves on arguing about it, so I don't want to start any wars, but here's my take...
Autonumbers are great, as long as you know your way around them. (OK, just to be clear, I'm not saying Michael doesn't know his way around them, the "are great" part is my opinion. My point here is that many newbies get involved with autonumbers without having a very strong understanding of them.)
Except when using an outdated version of Jet (the data engine behind Access), I have never, in eight years of professional Access programming, seen autonumbers do anything they are not supposed to do, including generating duplicate numbers.
Autonumbers are fine for the two uses the OP asked about--I have done both of these tasks with autonumbers reliably for years. The problem is in assigning some significance to the value of the autonumber. Autonumbers are unique. They are not sequential. And they are not meant to be.
Many developers hold that users should never see an autonumber. I think this comes from the notion that users are unable to understand the ways of the autonumber. I have more faith in users.
If I am going to show an autonumber to users, I spend some time with the cient explaining what an autonumber is, and why it will not be sequential--why there will be gaps. Many developrs shy away for this, though I'm not sure why.
If you do not want to show the autonumber to the user, you can use code like Michael's or that in the Access [Version Number] Developer's Handbook to generate your own numbers. If you do this you can have letters, parts of the customer's name, whatever you want in there, as long as you tweak the code to your own liking.
But the basics of autonumbers are quite simple: they are unique numbers. Even the ones generated sequentially will not be sequential in your table because eventually a record will be deleted or the creation of a record will be abandoned. If you're doing something like formating your autonumber, you should probably just generate your own unique number instead of using an autonumber.
That's my three cents, whatever it's worth.
Jeremy
==
Jeremy Wallace
AlphaBet City Dataworks
Access Databases for Non-Profit Organizations
Please post in the appropriate forum with a descriptive subject; code and SQL, if referenced; and expected results. See thread181-473997 for more pointers.