It is straightforward to establish a one to many relationship by linking the primary key in the one table to the foreign key in the many table. Access shows the relationship with a single arrow. How can I (in or out of VBA code) establish a one to many relationship from a table whose primary key consists of two contiguous fields (very common) to a table containing the same two fields as its foreign key?
![]() |
Patch reliability is unclear. Unless you have an immediate, pressing need to install a specific patch, don't do it. |
SIGN IN | Not a member? | REGISTER | PLUS MEMBERSHIP |
-
One to many – Multiple field keys (Access 2002/SP2)
Home » Forums » AskWoody support » Productivity software by function » MS Access and database help » One to many – Multiple field keys (Access 2002/SP2)
- This topic has 6 replies, 3 voices, and was last updated 22 years, 4 months ago.
AuthorTopicJohn Littell
AskWoody PlusFebruary 14, 2003 at 5:50 pm #383399Viewing 1 reply threadAuthorReplies-
WSAlexya1
AskWoody LoungerFebruary 14, 2003 at 8:41 pm #653771Hi there…
This MAY be a waste of time since I only have Access 97 SR2 at work, but I’ll give you this answer and hope it’s close to how you do it in that version.
k… I’ve attached an example for you to see… Here’s how I do it…
1) For the One side of your relationship… from table design mode… you just select both fields (rows in the fld definitions) that will make up the key, right click and select primary key… (Make sure the indexing is as you want it…) … You should see the key next to both field names… Save the table design…
2) Then in the Many side… table design mode… Ensure that the two corresponding have indexing “Yes (Duplicated Ok)” … Save the table design…
3) Then add both tables… in order (tblOne first, then tblMany) to the relationships window… Drag the first field of the primary key in the One table over to the first foreign key in the Many table… A window should pop up where you define the relationships…. Fill in the second field of the primary key and the corresponding one in the Many table… Check the “Enforce Referential Integrity” option… Click OK… As soon as the window disappears you should see the symbols for One-To-Many relationships in both places…All done…
Hope this makes sense… and HOPE it works the same in 2002… Let me know how it goes… I don’t get the opportunity to answer questions on here often…
-
WScharlotte
AskWoody Lounger -
John Littell
AskWoody PlusFebruary 15, 2003 at 8:06 pm #653935Trudi,
Thank you very much for the information. It worked exactly as you said it would. Now the relationship window shows two one to many connection link lines one on top of the other. I proved, I think, that the two links are parts of one combined link: deleting one link (line) deleted them both. (Incidentally, while I would have liked to see from your .mdb attachment if your example looked like what I have, I was unable to open it. It seems that when Access 2002 opens an order DB for the first time it has to be able to write to it. I got an error saying that the DB was read only.)Thanks again, John
-
WScharlotte
AskWoody LoungerFebruary 15, 2003 at 2:05 am #653830Are you working with ADO or DAO? Here’s an ADO routine that demonstrates creating a relationship in code. If you are working with a multifield key, you add the individual fields by appending both columns.
Sub CreateRelationship(strDBPath As String, _ strForeignTbl As String, _ strRelName As String, _ strFTKey As String, _ strRelatedTbl As String, _ strRTKey As String) Dim catDB As ADOX.Catalog Dim tbl As ADOX.Table Dim key As ADOX.key ' Note that VB "enforces" the lowercasing of ' "key" in ADOX.key. Set catDB = New ADOX.Catalog ' Open the Catalog object. catDB.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source =" & strDBPath Set key = New ADOX.key ' Create the foreign key to define the relationship. With key ' Specify name for the relationship in the Keys collection. .Name = strRelName ' Specify the related table's name. .RelatedTable = strRelatedTbl .Type = adKeyForeign ' Add the foreign key field to the Columns collection. .Columns.Append strFTKey ' Specify the field the foreign key is related to. .Columns(strFTKey).RelatedColumn = strRTKey End With Set tbl = New ADOX.Table ' Open the table and add the foreign key. Set tbl = catDB.Tables(strForeignTbl) tbl.Keys.Append key Set catDB = Nothing End Sub
-
John Littell
AskWoody PlusFebruary 15, 2003 at 8:13 pm #653940 -
WScharlotte
AskWoody Lounger
-
Viewing 1 reply thread -

Plus Membership
Donations from Plus members keep this site going. You can identify the people who support AskWoody by the Plus badge on their avatars.
AskWoody Plus members not only get access to all of the contents of this site -- including Susan Bradley's frequently updated Patch Watch listing -- they also receive weekly AskWoody Plus Newsletters (formerly Windows Secrets Newsletter) and AskWoody Plus Alerts, emails when there are important breaking developments.
Get Plus!
Welcome to our unique respite from the madness.
It's easy to post questions about Windows 11, Windows 10, Win8.1, Win7, Surface, Office, or browse through our Forums. Post anonymously or register for greater privileges. Keep it civil, please: Decorous Lounge rules strictly enforced. Questions? Contact Customer Support.
Search Newsletters
Search Forums
View the Forum
Search for Topics
Recent Topics
-
How to get Microsoft Defender to honor Group Policy Setting
by
Ralph
5 hours, 15 minutes ago -
Apple : Paragon’s iOS Mercenary Spyware Finds Journalists Target
by
Alex5723
5 hours, 54 minutes ago -
Music : The Rose Room – It’s Been A Long, Long Time album
by
Alex5723
7 hours ago -
Disengage Bitlocker
by
CWBillow
8 hours, 24 minutes ago -
Mac Mini M2 Service Program for No Power Issue
by
Alex5723
9 hours ago -
New Win 11 Pro Geekom Setup questions
by
Deo
10 hours, 44 minutes ago -
Windows 11 Insider Preview build 26200.5651 released to DEV
by
joep517
16 hours, 15 minutes ago -
Windows 11 Insider Preview build 26120.4441 (24H2) released to BETA
by
joep517
16 hours, 17 minutes ago -
iOS 26,, MacOS 26 : Create your own AI chatbot
by
Alex5723
20 hours, 12 minutes ago -
New PC transfer program recommendations?
by
DaveBoston
2 hours, 33 minutes ago -
Windows 11 Insider Preview Build 22631.5545 (23H2) released to Release Preview
by
joep517
1 day ago -
Windows 10 Build 19045.6029 (22H2) to Release Preview Channel
by
joep517
1 day ago -
Best tools for upgrading a Windows 10 to an 11
by
Susan Bradley
12 hours, 37 minutes ago -
The end of Windows 10 is approaching, consider Linux and LibreOffice
by
Alex5723
9 hours, 59 minutes ago -
Extended Windows Built-in Disk Cleanup Utility
by
bbearren
1 hour, 34 minutes ago -
Win 11 24H2 June 2025 Update breaks WIFI
by
dportenlanger
1 day, 19 hours ago -
Update from WinPro 10 v. 1511 on T460p?
by
CatoRenasci
17 hours, 10 minutes ago -
System Restore and Updates Paused
by
veteran
1 day, 21 hours ago -
Windows 10/11 clock app
by
Kathy Stevens
1 day, 8 hours ago -
Turn off right-click draw
by
Charles Billow
2 days, 1 hour ago -
Introducing ChromeOS M137 to The Stable Channel
by
Alex5723
2 days, 4 hours ago -
Brian Wilson (The Beach Boys) R.I.P
by
Alex5723
22 hours, 25 minutes ago -
Master patch listing for June 10, 2025
by
Susan Bradley
2 days, 6 hours ago -
Suggestions for New All in One Printer and a Photo Printer Windows 10
by
Win7and10
1 day, 9 hours ago -
Purchasing New Printer. Uninstall old Printer Software First?
by
Win7and10
2 days, 12 hours ago -
KB5060842 Issue (Minor)
by
AC641
1 day ago -
EchoLeak : Zero Click M365 Copilot leak sensitive information
by
Alex5723
2 days, 19 hours ago -
24H2 may not be offered June updates
by
Susan Bradley
1 day, 11 hours ago -
Acronis : Tracking Chaos RAT’s evolution (Windows, Linux)
by
Alex5723
3 days, 7 hours ago -
June 2025 updates are out
by
Susan Bradley
13 hours, 16 minutes ago
Recent blog posts
Key Links
Want to Advertise in the free newsletter? How about a gift subscription in honor of a birthday? Send an email to sb@askwoody.com to ask how.
Mastodon profile for DefConPatch
Mastodon profile for AskWoody
Home • About • FAQ • Posts & Privacy • Forums • My Account
Register • Free Newsletter • Plus Membership • Gift Certificates • MS-DEFCON Alerts
Copyright ©2004-2025 by AskWoody Tech LLC. All Rights Reserved.