Access Relationship Problem

I have an exercise in which I need to assign one-to-many relationships to some tables in a db.

I can get one such relationship but all the remaining tables form a one-to-one relationship and I don't understand why when they are very similar to the two tables in which I was able to form a one-to-many relationship.

The primary keys have the same data types. In my file a one-to-many relationship exist between the table "tblRentals" and tblRenters". I need to form the same relationship between all the remaining tables except that when I try I get a one-to-one relationship. Why???
James CoatsComputer Info. Sys. StudentAsked:
Who is Participating?
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Connect With a Mentor Database ArchitectCommented:
Do you have the Primary Key in the One table as a Foreign Key in the Many table ... and for the Foreign Key ... do you have Index - Allow Duplicates ?

mx
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
For a one to many, you should have a copy of the "one's" primary key in the record of the "many" sides record as a separate field.  This is called a foreign key.

If your getting a one to one, then what your doing is joining the primary keys of each table to one another, which is not what you want.

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
:-)
0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
James CoatsComputer Info. Sys. StudentAuthor Commented:
I went to the "tblRentals" and selected the key or foreign key for each of the table and selected "Allow Duplicates" from the connecting tables primary keys which now allows a one-to-many connections. I also enforced referential integrity. Thanks for the help. You both answerd correctly but you got there first so I gave you the points.

So the way I see it now on the table connecting you select a primary key you choose no duplicates for the table and then you choose the table being connected to and place your foreign key there and select allow duplicates. You also would have indexed this field. Is this correct??
0
 
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
<<You also would have indexed this field. Is this correct?? >>

 If you enforce Referential Integrity, no as Access (actually JET) will create an index on the many side of the join.

 If you create an index with RI enforced, you'll be creating a duplicate index.   Note that you won't see the hidden index.

Jim.
0
 
DatabaseMX (Joe Anderson - Microsoft Access MVP)Database ArchitectCommented:
Actually ... I really didn't mean to say (and Jim is correct about the dup index) "and for the Foreign Key ... do you have Index - Allow Duplicates ?" .... what I meant was ... be SURE that you do not have Indexed - No Duplicates - which will result in a One to One when you try to create a Relationship.


And of course, unless you enforce RI ... you don't really have a meaningful Relationship.

mx
0
 
James CoatsComputer Info. Sys. StudentAuthor Commented:
Thanks a lot guys. I am new and learning a lot.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.