There's no problem with the AutoNumber as a unique identifier. (Well, there
was in A2000, but Microsoft fixed it in one of the earlier JET 4 service
packs.) Most of us use AutoNumbers in every application we create.
There's also no problem in using a natural key. It's a question of style,
but I regularly use a 24-char text field for look up tables (such as
categories or types).
There is also no problem using a semi-informational key (based on the client
name for example). It can be useful if you have a crowded screen, e.g. when
creating staff/volunteer rosters to have a code that you fairly easily
recognise. And it circumvents the issue that if you display a non-bound
column (such as the full name of the employee), it just goes blank if the
person is not in the combo's RowSource (e.g. because you are looking at an
old roster that includes inactive staff that you are not in the list.) There
are also drawbacks to the method, e.g. when someone gets married and changes
name.
So, although people tend to have strong committments to doing things in a
particular way, you are free to choose what suits you and experiment with
the benefits and limitations of each approach.
--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users -
http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
"rkc" <rk*@yabba.dabba.do.rochester.rr.bomb> wrote in message
news:6b****************@twister.nyroc.rr.com...
"Bas Cost Budde" <b.*********@heuvelqop.nl> wrote in message
news:co**********@news2.solcon.nl... sea wrote: > Is it a good idea to programatically create a primary key?
Yes, I do that all the time. For numerical primary keys only. To be
honest, except for very rare cases, all my primary keys have migrated to
a non-information field.
What is the point of generating a non-informational key?
Is autonumber unreliable?