Relationship Question

S

Steve Haack

I have a field called tblPeople. It has an AutoNumber field as its PK, it has
a field called ID which is a text field, indexed (no dupes).

I have another table called tblEvents. In tblEvents I have amongst others,
two fields, Manager and Director. I am trying to create relationships between
tblEvents.Manager and tblPeople.ID, and also between tblEvents.Director and
tblPeople.ID. I have done that.

What I can't do though, is set Referential Integrity with Cascading Updates
so that if a person's ID changes (which it can, since it is an ID Badge
Number) it updates the records in tblEvents.

Any ideas?
 
G

Gina Whipp

Steve,

Ummm, do you get a message? What happens when you try?

I'm going to make a suggestion here... I would have set up the table
differently...

tblPeople
pPeopleID (PK - Autonumber)
pBadgeID (Set to no duplicates but I can change when I like)

tblEvents
eEventID (PK)
eDirector (FK-linked to pPeopleID)
eManager (FK-linked to pPeopleID)

The above way allows you to set Referential Integrity without worrying about
Cascading Updates. A Primary Key should be used to relate records and you
should not care what it is. Okay, enough with my two cents worth!

--
Gina Whipp

"I feel I have been denied critical, need to know, information!" - Tremors
II

http://www.regina-whipp.com/index_files/TipList.htm
 
J

John W. Vinson

I have a field called tblPeople. It has an AutoNumber field as its PK, it has
a field called ID which is a text field, indexed (no dupes).

I have another table called tblEvents. In tblEvents I have amongst others,
two fields, Manager and Director. I am trying to create relationships between
tblEvents.Manager and tblPeople.ID, and also between tblEvents.Director and
tblPeople.ID. I have done that.

What I can't do though, is set Referential Integrity with Cascading Updates
so that if a person's ID changes (which it can, since it is an ID Badge
Number) it updates the records in tblEvents.

Any ideas?

Gina's advice is probably your best solution, but as an alternative, you might
want to consider something that some people would consider heretical: get rid
of the tblPeople autonumber altogether, and make ID the Primary Key. I believe
that Cascade Update applies only to the Primary Key field, not to other
uniquely indexed fields.
 
S

Steve Haack

Gina,
Thanks for the reply and information. The message that I get is: "Access
can't enforce the referential integrity for this relationship. Make sure the
fields you drag are PK fields or uniquely indexed and that the unique index
or PK is correctly set."

The thing is, I have tblPeople linked to another table on the ID field (but
only on link, not two) and it works perfectly.

I am going to look into your suggestion to see if that will work.

Thanks,
Steve
 
S

Steve Haack

Gina,
Can you tell me what you mean by FK?

Gina Whipp said:
Steve,

Ummm, do you get a message? What happens when you try?

I'm going to make a suggestion here... I would have set up the table
differently...

tblPeople
pPeopleID (PK - Autonumber)
pBadgeID (Set to no duplicates but I can change when I like)

tblEvents
eEventID (PK)
eDirector (FK-linked to pPeopleID)
eManager (FK-linked to pPeopleID)

The above way allows you to set Referential Integrity without worrying about
Cascading Updates. A Primary Key should be used to relate records and you
should not care what it is. Okay, enough with my two cents worth!

--
Gina Whipp

"I feel I have been denied critical, need to know, information!" - Tremors
II

http://www.regina-whipp.com/index_files/TipList.htm




.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top