This is a bit embarrassing but it’s been a while.
When working with relational databases and linking to separate tables by primary:foreign keys, in 1-∞, such that, in a particular table, the table’s foreign relationship returns an integer ID… how do you go about making this relationship intelligible to users?
For example:
You have a company table
- CID
- CompanyName
- CompanyLocation
- CompanyBusinessType
etc (not actual column names)
and an employee table
- EID
- firstName
- surName
- DOB
- company
Employee company is related to CID. But some user putting in information about an employee would have to know the ID code for the particular company due to the nature of the relationship. You can run a query to return ‘CompanyName’s along with their associated ‘CID’s which can then be searched, but this cipher is hardly an ideal solution. I just cannot remember the theory of how one approaches this, even though I’m certain I’ve done it before. I need to implement it in both Microsoft Access 2010 and Microsoft SSMS (separate databases fwiw); but the execution should be relatively straightforward as soon as I remember how it’s done!
Create a combo box with 2 columns. One column as the company name and the other as the company ID. You can set the width of the company ID to 0 if you don’t want the user to see it.
This can be done with the Property Sheet on MS-Access Forms
Set the Row Source of the combo box to:
SELECT CompanyName, CompanyID FROM Company;Set the Control Source of the combo box to:
Employee.CompanyIDAlso make sure the Row Source Type is set to
Table/Query