If you were to search a Table you might search for the Name of the Man who drives a Pink Rolls Royce. So you are searching in this case on two Fields. In other situations it could be three or four but let's hope no more. (Poetry at its best)
In all situations I find the AutoNumber which is the Primary Key and search for that.
Searching a database for a man called Bob who drives a pink Rolls is normal use. It begins with the information I have, his sex, name and car description.
Search by the autonumber is a rather odd notion since the autonumber is one piece of information that the user would never have, especially under your scheme where the user must never ever see the autonumber.
This is Microsoft's Default or Recommendation. Just build a Search Combo Box for your Form using the wizard where you are prompted to hide the Primary Key.
Microsoft is not the ultimate arbiter on the use of its products. They are well known for configuring to the lowest common denominator, especially in Access. The Wizard offers to hide the primary key because the table wizard defaults to adding an autonumber if you don't define a PK.
I elect to use AutoNumber because it is simple and always right a far as a unique key is concerned.
Anything that is guaranteed unique in the scope of the system can be used. The point I make is that any natural key needs to indexed to ensure uniqueness so adding the autonumber is just costing resources unnecessarily.
If the original key came from an autonumber on another system then all the more reason not to translate it to a localised autonumber in a downstream application.
Where I work the Unix system assigns a number to new members. I don't care how it does it really. That number is ubiquitous throughout our organisation. Data is translated into several formats including SQL Server and archived text based reports.
The member number is a perfect natural key for our client databases. It would be ridiculous to assign another key to represent that number in related tables.
Galaxiom,
At this stage I have to ask how can your combination of Fields joined together to create a Primary Key be faster than a single AutoNumber.
How many more times do I have to say this? I have not disputed that the autonumber is a convenient key where no natural key is safe. You have claimed that a suitable natural key should never be used as a primary key. I strongly disagree with this point alone.
I think you can see why I have said that the end user never gets to see the AutoNumber.
Because it is meaningless?
For those who say that sometimes it helps them. I hope they only mean in the Construction and Development stages. I can see no reason for knowing that this record is number 453627.
In a Client database, clients can change their names. Knowing the PK of the client record provides a permanent link to old records. Printing that in a small font in the corner of a box takes up negligible space on an invoice.