[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

Access Relationship Problem

Posted on 2015-01-19
7
Medium Priority
?
219 Views
Last Modified: 2015-01-19
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???
0
Comment
Question by:James Coats
  • 3
  • 2
  • 2
7 Comments
 
LVL 75

Accepted Solution

by:
DatabaseMX (Joe Anderson - Microsoft MVP, Access and Data Platform) earned 2000 total points
ID: 40558281
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
 
LVL 58
ID: 40558283
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
 
LVL 75
ID: 40558338
:-)
0
What is SQL Server and how does it work?

The purpose of this paper is to provide you background on SQL Server. It’s your self-study guide for learning fundamentals. It includes both the history of SQL and its technical basics. Concepts and definitions will form the solid foundation of your future DBA expertise.

 

Author Closing Comment

by:James Coats
ID: 40558354
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
 
LVL 58
ID: 40558361
<<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
 
LVL 75
ID: 40558422
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
 

Author Comment

by:James Coats
ID: 40558435
Thanks a lot guys. I am new and learning a lot.
0

Featured Post

Microsoft Certification Exam 74-409

Veeam® is happy to provide the Microsoft community with a study guide prepared by MVP and MCT, Orin Thomas. This guide will take you through each of the exam objectives, helping you to prepare for and pass the examination.

Question has a verified solution.

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

Code that checks the QuickBooks schema table for non-updateable fields and then disables those controls on a form so users don't try to update them.
In a use case, a user needs to close an opened report by simply pressing the Escape (Esc) key. This can be done by adding macro code in Report_KeyPress or Report_KeyDown event.
Basics of query design. Shows you how to construct a simple query by adding tables, perform joins, defining output columns, perform sorting, and apply criteria.
In Microsoft Access, when working with VBA, learn some techniques for writing readable and easily maintained code.
Suggested Courses

834 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