The general consensus here seems to be that Lookup fields should be avoided. They are really just a short-cut to having a "proper" lookup table and they hide what is really going on at the table level. For example, say you have a Lookup field for [Size] with values 'Small', 'Medium' and 'Large'. When you look at the table you see the words, but the chances are good that the table really contains numbers like 1, 2, and 3. You go to
UPDATE tblName SET Size="Large"
and the query fails because it what you actually need to do is
UPDATE tblName SET Size=3
(When you maintain a "proper" separate lookup table your field in the main table shows what is actually in the field: the PK value for the selected item in the lookup table. You can still design your forms to have a combo box populated by the lookup table and bound to a field in the main table.)
For even more confusion, the Lookup wizard offers an "allow multiple selections" option so a field can hold more than one value (sort of). That was apparently added so Access could work better with SharePoint, and that is really the only time when that feature should be used. In the overwhelming majority of other cases it's better to explicitly maintain a separate child table to store the multiple selections.
Edit
The Combo Box Wizard will guide you through the process of linking your combo box to its record source (the lookup table) and binding its value to a field in your data table. For example, say you have already set up a lookup table for [Agents]
ID AgentName
-- ---------
1 Gord
2 Angie
...and a data table for [Accounts]
ID agentID AccountName
-- ------- -----------
You create a new Form with the [Accounts] table as its Record Source
. When you go to add a Combo Box to the form the wizard should run and ask you "How do you want your combo box to get its values?". You choose "I want the combo box to get the values from another table or query."
In the next step you choose the [Agents] table:
Next you tell the wizard that you want to display the [AgentName]:
After you choose a sort order (if desired) you get to confirm the column width(s). Leave "Hide key column (recommended)" enabled.
Finally, you get to choose what happens to the check box's value. This is where you "bind" it to the [agentID] field in the [Accounts] table:
Note that the combo box will display the [agentName]
for the user to select, but its .Value
will be the numeric [Agents].[ID]
, and that is what will be stored in [Accounts].[agentID]
.