The problem I'm seeing is that my fields aren't necessarily unique. For example, grant entity 1 and grant entity 2 may name their grants the same thing. I think it would be rare, but would the workaround here be to make some trivial difference and put it into the second one?
As Scott has pointed out, duplicating grant names is not a problem. Each row in a Grants table is identified by a GrantID or similar primary key column of a numeric data type, usually an autonumber for convenience, and is referenced in other tables by a GrantID foreign key column, again of a numeric data type, but not an autonumber this time.
Remember the contacts form in my DatabaseBasics.zip demo to which I referred you earlier, in which the name of each contact was concatenated with other data? In the Contacts table there are two Jennifer Blacks. In the combo box in the form header they are differentiated as:
Black, Jennifer - Staffordshire, United Kingdom
Black, Jennifer - Texas, United States
The BoundColumn of the combo box, and hence its value, is in a hidden ContactID column in which the two values are 1 and 5 respectively. So when the value in a foreign key column in another table is 1 we are dealing with English Jennifer, and when it's 5 we are dealing with American Jennifer.
In the same form you'll see that there are two cities named Paris. These are differentiated in the same way, so that from the CityID numeric foreign key column we know whether we are dealing with Paris, Île-de-France, France or Paris, Texas, USA. In the form the Region and Country controls show the correct values by basing the form on a query which joins the Contacts, Cities, Regions and Countries tables. When a city is selected in the city combo box, the region and country in which the selected city is located show automatically in the other two controls, which are read-only.