A Microsoft Office (Excel, Word) forum. OfficeFrustration

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

Go Back   Home » OfficeFrustration forum » Microsoft Access » New Users
Site Map Home Register Authors List Search Today's Posts Mark Forums Read  

Primary Key Cascade Question



 
 
Thread Tools Display Modes
  #1  
Old April 20th, 2010, 08:00 PM posted to microsoft.public.access.gettingstarted
Marsh
external usenet poster
 
Posts: 108
Default Primary Key Cascade Question

In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
It will be benificial to have Proj_No in the other 4 tables as foreign key
fields. My question is, when a new Proj_No is entered into the main table
to create a new record, how can I get that entry (alpha-numeric) to cascade
to the other 4 tables, thus creating a new record in the 4 child tables.

Thank you
Marsh
  #2  
Old April 20th, 2010, 08:33 PM posted to microsoft.public.access.gettingstarted
John W. Vinson
external usenet poster
 
Posts: 18,261
Default Primary Key Cascade Question

On Tue, 20 Apr 2010 12:00:01 -0700, Marsh
wrote:

In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
It will be benificial to have Proj_No in the other 4 tables as foreign key
fields. My question is, when a new Proj_No is entered into the main table
to create a new record, how can I get that entry (alpha-numeric) to cascade
to the other 4 tables, thus creating a new record in the 4 child tables.


Don't.

It's neither necessary nor helpful to have empty "placeholder" records in your
related tables. If you use a Form based on the main table, with Subforms for
your related tables (using Proj_No as the Master/Child Link Field), the
Proj_No will fill in when you add data to the child table. That's when you
need the foreign key - when there is data to link, not before.

If you're adding data in table datasheets, don't! Tables are VERY limiting and
(despite Microsoft's blandishments) inappropriate for data entry or editing.
Forms are much more powerful and flexible.
--

John W. Vinson [MVP]
  #3  
Old April 20th, 2010, 08:35 PM posted to microsoft.public.access.gettingstarted
Jerry Whittle
external usenet poster
 
Posts: 4,732
Default Primary Key Cascade Question

You shouldn't be creating a record in the other 4 tables unless there is a
real need for it.

The best way to keep the tables linked is to first join them in the
Relationships Window with Referential Integrity enabled. Next create a form
based on the tblProjID table. On this form put subforms based on the other
tables.

It's pretty unusual to have one table linked to 4 other tables in a
hub-and-spoke configuration. What is in the other tables?
--
Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.


"Marsh" wrote:

In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
It will be benificial to have Proj_No in the other 4 tables as foreign key
fields. My question is, when a new Proj_No is entered into the main table
to create a new record, how can I get that entry (alpha-numeric) to cascade
to the other 4 tables, thus creating a new record in the 4 child tables.

Thank you
Marsh

  #4  
Old April 20th, 2010, 10:00 PM posted to microsoft.public.access.gettingstarted
SQLGal
external usenet poster
 
Posts: 1
Default Primary Key Cascade Question

Marsh,

Go into relationships and set up relationships between all of the tables.
Set the join as one-to-many (parent-to-child), enforce referential integrity
and cascading updates and deletes.

Also, I like to set the join type to all records in the parent and only the
matching in the children. You don't have to do this but it is a good way to
view parent records without children.

Also, it is best to set this up before you have entered data. If you get an
error while setting it up, I can help you with that.

Finally, this set up will cause cascading updates and cascading deletes. The
database will provide a warning and tell you how many records are being
updated or deleted.



Marsh wrote:
In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
It will be benificial to have Proj_No in the other 4 tables as foreign key
fields. My question is, when a new Proj_No is entered into the main table
to create a new record, how can I get that entry (alpha-numeric) to cascade
to the other 4 tables, thus creating a new record in the 4 child tables.

Thank you
Marsh


  #5  
Old April 21st, 2010, 01:49 PM posted to microsoft.public.access.gettingstarted
Marsh
external usenet poster
 
Posts: 108
Default Primary Key Cascade Question

Three very informative answers, and I shall work on this today. If problems
arise, I will be back tomorrow.
Thank you all

"SQLGal" wrote:

Marsh,

Go into relationships and set up relationships between all of the tables.
Set the join as one-to-many (parent-to-child), enforce referential integrity
and cascading updates and deletes.

Also, I like to set the join type to all records in the parent and only the
matching in the children. You don't have to do this but it is a good way to
view parent records without children.

Also, it is best to set this up before you have entered data. If you get an
error while setting it up, I can help you with that.

Finally, this set up will cause cascading updates and cascading deletes. The
database will provide a warning and tell you how many records are being
updated or deleted.



Marsh wrote:
In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
It will be benificial to have Proj_No in the other 4 tables as foreign key
fields. My question is, when a new Proj_No is entered into the main table
to create a new record, how can I get that entry (alpha-numeric) to cascade
to the other 4 tables, thus creating a new record in the 4 child tables.

Thank you
Marsh


.

  #6  
Old April 21st, 2010, 02:18 PM posted to microsoft.public.access.gettingstarted
BruceM via AccessMonster.com
external usenet poster
 
Posts: 448
Default Primary Key Cascade Question

Not meaning to be excessively picky, and with respect for your knowledge and
experience as demonstrated by your posts over the years, is it unusual to
have four child tables? I have at least one database with four, and several
with three, and I don't think I'm operating at an especially sophisticated
level as such things go.

As an example of four child tables, a training database has a main Training
Session record, with related records for documents (e.g. Standard Operating
Procedures), PartNumber (we process machine parts, several of which may be
related closely enough that they are covered by a single training session),
trainers, and attendees.

That said, I am curious too about the other tables the OP mentioned :-)

Jerry Whittle wrote:
You shouldn't be creating a record in the other 4 tables unless there is a
real need for it.

The best way to keep the tables linked is to first join them in the
Relationships Window with Referential Integrity enabled. Next create a form
based on the tblProjID table. On this form put subforms based on the other
tables.

It's pretty unusual to have one table linked to 4 other tables in a
hub-and-spoke configuration. What is in the other tables?
In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.

[quoted text clipped - 5 lines]
Thank you
Marsh


--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...arted/201004/1

  #7  
Old April 21st, 2010, 07:58 PM posted to microsoft.public.access.gettingstarted
Jerry Whittle
external usenet poster
 
Posts: 4,732
Default Primary Key Cascade Question

Hi Bruce,

You are correct that there can be many valid reasons for having that many
child tables. Probably because this is the New Users forum, I assumed (and we
know what that can mean) the the OP might have been doing something like a
table for each year or something.

Thanks for keeping me honest!
--
Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.


"BruceM via AccessMonster.com" wrote:

Not meaning to be excessively picky, and with respect for your knowledge and
experience as demonstrated by your posts over the years, is it unusual to
have four child tables? I have at least one database with four, and several
with three, and I don't think I'm operating at an especially sophisticated
level as such things go.

As an example of four child tables, a training database has a main Training
Session record, with related records for documents (e.g. Standard Operating
Procedures), PartNumber (we process machine parts, several of which may be
related closely enough that they are covered by a single training session),
trainers, and attendees.

That said, I am curious too about the other tables the OP mentioned :-)

Jerry Whittle wrote:
You shouldn't be creating a record in the other 4 tables unless there is a
real need for it.

The best way to keep the tables linked is to first join them in the
Relationships Window with Referential Integrity enabled. Next create a form
based on the tblProjID table. On this form put subforms based on the other
tables.

It's pretty unusual to have one table linked to 4 other tables in a
hub-and-spoke configuration. What is in the other tables?
In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.

[quoted text clipped - 5 lines]
Thank you
Marsh


--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...arted/201004/1

.

  #8  
Old April 22nd, 2010, 02:50 PM posted to microsoft.public.access.gettingstarted
Marsh
external usenet poster
 
Posts: 108
Default Primary Key Cascade Question

There were overriding reasons why I needed multiple tables, related as spokes
of a wheel. I like your analogy and will "borrow it" for our next project
meeting.
It had to do with the who/how data entry is to be done, with a form(s) in
individual front ends, differing as job description varies.
It is very possible that better design could be accomplished by someone with
more experience than I, and as I continue my growth with DB skills, I will
improve on past designs.

"Jerry Whittle" wrote:

Hi Bruce,

You are correct that there can be many valid reasons for having that many
child tables. Probably because this is the New Users forum, I assumed (and we
know what that can mean) the the OP might have been doing something like a
table for each year or something.

Thanks for keeping me honest!
--
Jerry Whittle, Microsoft Access MVP
Light. Strong. Cheap. Pick two. Keith Bontrager - Bicycle Builder.


"BruceM via AccessMonster.com" wrote:

Not meaning to be excessively picky, and with respect for your knowledge and
experience as demonstrated by your posts over the years, is it unusual to
have four child tables? I have at least one database with four, and several
with three, and I don't think I'm operating at an especially sophisticated
level as such things go.

As an example of four child tables, a training database has a main Training
Session record, with related records for documents (e.g. Standard Operating
Procedures), PartNumber (we process machine parts, several of which may be
related closely enough that they are covered by a single training session),
trainers, and attendees.

That said, I am curious too about the other tables the OP mentioned :-)

Jerry Whittle wrote:
You shouldn't be creating a record in the other 4 tables unless there is a
real need for it.

The best way to keep the tables linked is to first join them in the
Relationships Window with Referential Integrity enabled. Next create a form
based on the tblProjID table. On this form put subforms based on the other
tables.

It's pretty unusual to have one table linked to 4 other tables in a
hub-and-spoke configuration. What is in the other tables?
In an Access 2007 db, I have 5 tables, with Proj_No the Primary Key field in
the main table tblProjID. It has 7 additional fields.
[quoted text clipped - 5 lines]
Thank you
Marsh


--
Message posted via AccessMonster.com
http://www.accessmonster.com/Uwe/For...arted/201004/1

.

 




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Forum Jump


All times are GMT +1. The time now is 11:38 AM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 OfficeFrustration.
The comments are property of their posters.