From: Steve Haack on 1 Dec 2009 22:17 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?
From: Gina Whipp on 1 Dec 2009 22:53 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 "Steve Haack" <SteveHaack(a)discussions.microsoft.com> wrote in message news:1BD0DBA1-593B-4327-81DD-BC1858A6915A(a)microsoft.com... >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?
From: John W. Vinson on 2 Dec 2009 01:59 On Tue, 1 Dec 2009 19:17:01 -0800, Steve Haack <SteveHaack(a)discussions.microsoft.com> wrote: >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. -- John W. Vinson [MVP]
From: Steve Haack on 3 Dec 2009 09:12 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 "Gina Whipp" wrote: > 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 > > "Steve Haack" <SteveHaack(a)discussions.microsoft.com> wrote in message > news:1BD0DBA1-593B-4327-81DD-BC1858A6915A(a)microsoft.com... > >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? > > > . >
From: Steve Haack on 3 Dec 2009 09:17 Gina, Can you tell me what you mean by FK? "Gina Whipp" wrote: > 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 > > "Steve Haack" <SteveHaack(a)discussions.microsoft.com> wrote in message > news:1BD0DBA1-593B-4327-81DD-BC1858A6915A(a)microsoft.com... > >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? > > > . >
|
Next
|
Last
Pages: 1 2 Prev: Brain Cramp Db design - stevie pimps again Next: Use of a Date Field in Primary Key |