structuring tables that might link to each other?

Posted on 2004-04-25
Last Modified: 2012-06-27
I have a database that includes two tables called, say, A and B.  Each record in table A can have multiple records in table B, but some of these sets of multiple records in table B can apply to more than one record in table A.  i.e. table A has 5 records, numbered A1 to A5.  Table B has 12 records numbered B1 to B12.  B1, B2 and B3, are all linked to A1; B4, B5 and B6 are linked to A2; and B7, B8 and B9 are linked to A3.  But B10, B11 and B12 apply equally to both A4 and A5.  There is no limit to the number of times a set of table B records can link to a single table A record.

In practical terms a user is required to select a table A record [in a form] and then add any number of table B records to it [in a sub-form].  But sometimes they don't want to enter multiple records twice, they just want to select a table A record, say A5, and rather than enter B13, B14 and B15 which are exactly the same as B10, B11 and B12 they just want to say "OK, I've selected A5, now I just want to tell the system that it should use the same table B records as A4".

What is the best way to structure / manage this in MS Access?
Question by:kiwibigdave
  • 2
LVL 120

Accepted Solution

Rey Obrero (Capricorn1) earned 250 total points
ID: 10913861
I sugeest that if you have'nt done so to read and understand the concept from the following

Database Normalization Basics

Defining Relationships Between Tables in a Microsoft Access Database
LVL 54

Expert Comment

ID: 10914025
For this you need a so-called "relation table" having the key of tableA and tableB.
The "set copy" can be performed by an INSERT query selecting the rows from say A5 and INSERT then with the key A4.

This will have to be triggered from the form and you need to decide what to do when A4 already has one or morerelation rows.....

Need more info ?


Author Comment

ID: 10914054
Thanks for that capricorn, sometimes just asking the question and being pointed back at the basics makes you realise what you've done wrong.

But to update the topic for the future, immediately I saw the many-to-many topic at "Defining Relationships Between Tables in a Microsoft Access Database " I realised I don't have a many-to-many relationship at all, and that I'm actually one table short.

My table B needs to be split into B and C, with a one-to-many relationship from B to C.  Then B and A also need a one-to-many.

Thanks also Nico, if I had asked the right question I could have saved you some time.

Then again, if I'd known the right question I could have saved myself 250 points ;-)

LVL 54

Expert Comment

ID: 10914076
Looks to me you realized you needed to created the relation table I proposed :-)


Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

When you are entering numbers in a speadsheet, and don't remember what 6×7 is, you just type “=6*7" instead. It works in every cell! This is not so in Access. To enter the elusive 42 in a text box, you have to find a calculator, and then copy the re…
I originally created this report in Crystal Reports 2008 where there is an option to underlay sections. I initially came across the problem in Access Reports where I was unable to run my border lines down through the entire page as I was using the P…
Using Microsoft Access, learn some simple rules for how to construct tables in a relational database. Split up all multi-value fields into single values: Split up fields that belong to other things into separate tables: Make sure that all record…
In Microsoft Access, learn the trick to repeating sub-report headings at the top of each page. The problem with sub-reports and headings: Add a dummy group to the sub report using the expression =1: Set the “Repeat Section” property of the dummy…

831 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question