Database data entry can be tedious at times. You can make your databases more user friendly if your users have a way to select redundant data to enter rather than typing in the same data over and over. Access provides a form control called a combo box to help with this task but it can lead to trouble. Also, if you find that the data is redundant, you will probably want to be able to sort on that field in the future for reporting.
The combo box allows the user to select inputs from a preset location like a table, a list of values, or a preset query. This works well unless the option you want to enter is not in the preset data. Access will not let you put in a new value in the select from list unless you set the "Limit to List" option to No on the combo box. Then, users are allowed to put in any data without checks. This can be troublesome. The value of having the combo box can be quickly diminished if users are misspelling data as they enter it or using different data to mean the same thing. This is very easily seen as you can define the United States as US, USA, United States, United States of America all meaning the same thing. Subsequent reporting would be inaccurate with misspelled input and dissimilar input for the same field.
To over come that problem, it would be handy to have code that asks the user to confirm a new entry into the table before they go ahead, just to make sure they entered what they meant to. This example shows you how to accomplish this with what I call a self learning combo box. Meaning, it learns new entries and adds them to the list of preset values, but requests a confirmation from the user if the entry is not already in the table.
You can find a working example database at
http://www.biomationsystems.com/AccessTips.htm