Connecting Tech Pros Worldwide Help | Site Map

Updating rows in a table - HELP, I'm beating my head against the wall.

Laura
Guest
 
Posts: n/a
#1: Nov 13 '05
Here's the situation:

I'm trying to use an update query to copy data from one row to another.
Here is the situation:

I have 5 companies that are linked to each other. I need to show all 5
companies on a form. 3 of the companies have common employees. I have a
table that looks like this:


Row ID Company Common Company Common EEs (checkboxes)
1 A B
2 A C
3 A D
4 A E
5 B A
6 B C
7 B D
8 B E
9 C A
10 C B
11 C D
12 C E
13 D A
14 D B
15 D C
16 D E

and so on.

If I were to look at Company A in a form, in the form header I have:

Company A

In the detail section (as a continuous form) I show it's linked companies:

Company B
Company C
Company D
Company E

With a checkbox next to each name in the detail section.

In this scenario, company B and D have common employees with company A. So,
when you check the box next to B, I have a query that will check the row
with Company A and Company B (row 1) and the row with Company B and Company
A (row 5). The same with Company A and Company D. When you check the box
next to Company D, the update query with update row 3 (A and D) and row 13
(D and A).

So, now company A and company B have the same info. Company A and company D
have the same info. BUT, company B and company D (rows 7 and 14) also need
to be checked and this isn't happening. How do I update those rows??

Thanks in advance,

Laura


Allen Browne
Guest
 
Posts: n/a
#2: Nov 13 '05

re: Updating rows in a table - HELP, I'm beating my head against the wall.


Laura, this sounds like a maintenance nightmare!

You need Access to calculate this for you at runtime, and you could achieve
that if you had these 3 tables:

Company table:
CompanyID primary key

Employee table:
EmployeeID primary key

CompanyEmployee table:
CompanyID foreign key to Company.CompanyID
EmployeeID foreign key to Employee.EmployeeID


Now create two queries:

1. Create a query into the CompanyEmployee table.
Drag a 2nd copy of the CompanyEmployee table into the grid.
Access will alias it as CompanyEmployee_1.

2. In the upper pane, create a join between CompanyEmployee.EmployeeID and
CompanyEmployee_1.EmployeeID. If you see a join between
CompanyEmployee.CompanyID and CompanyEmployee_1.CompanyID, delete that line.

3. Drag CompanyEmployee.CompanyID into the query grid.
Type this into the Field row:
CommonCompanyID:[CompanyEmployee_1].[CompanyID]
In the Criteria row under this field, enter:
<> CompanyEmployee.CompanyID.

4. Save the query with the name qryEmployeeBoth. Close.
This query shows each matching company that has shared employees, and lists
who they are.


1. Create a new query into the Company table and also the query you just
saved. If you don't see a line joining Company.CompanyID to qryEmployeeID,
then drag the one field onto the other. Double-click the join line. Access
pops up a dialog offereing 3 choices. Choose the one that says:
All records from Company, and any matches from ...

2. Depress the Totals button on the toobar.
Access adds a Total row to the grid.

3. Drag Company.CompanyID and qryEmployeeBoth.CommonCompanyID into the grid.
Accept Group By under these fields.

4. Drag qryEmployeeBoth.EmployeeID into the grid. In the Total row, choose
Count.

This query lists every company matched against any other companies that have
shared employees, and the number of shared employees.

This willbe the SQL for the 2 queries:
SELECT CompanyEmployee.CompanyID, CompanyEmployee.EmployeeID,
CompanyEmployee_1.CompanyID AS CommonCompanyID
FROM CompanyEmployee INNER JOIN CompanyEmployee AS
CompanyEmployee_1 ON CompanyEmployee.EmployeeID =
CompanyEmployee_1.EmployeeID
WHERE CompanyEmployee_1.CompanyID <> [CompanyEmployee].[CompanyID];


SELECT Company.CompanyID, qryEmployeeBoth.CommonCompanyID,
Count(qryEmployeeBoth.EmployeeID) AS CountOfEmployeeID
FROM Company LEFT JOIN qryEmployeeBoth
ON Company.CompanyID = qryEmployeeBoth.CompanyID
GROUP BY Company.CompanyID, qryEmployeeBoth.CommonCompanyID;

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
news:fOfid.9910$IE1.6745@fe1.texas.rr.com...[color=blue]
> Here's the situation:
>
> I'm trying to use an update query to copy data from one row to another.
> Here is the situation:
>
> I have 5 companies that are linked to each other. I need to show all 5
> companies on a form. 3 of the companies have common employees. I have a
> table that looks like this:
>
>
> Row ID Company Common Company Common EEs (checkboxes)
> 1 A B
> 2 A C
> 3 A D
> 4 A E
> 5 B A
> 6 B C
> 7 B D
> 8 B E
> 9 C A
> 10 C B
> 11 C D
> 12 C E
> 13 D A
> 14 D B
> 15 D C
> 16 D E
>
> and so on.
>
> If I were to look at Company A in a form, in the form header I have:
>
> Company A
>
> In the detail section (as a continuous form) I show it's linked companies:
>
> Company B
> Company C
> Company D
> Company E
>
> With a checkbox next to each name in the detail section.
>
> In this scenario, company B and D have common employees with company A.
> So, when you check the box next to B, I have a query that will check the
> row with Company A and Company B (row 1) and the row with Company B and
> Company A (row 5). The same with Company A and Company D. When you check
> the box next to Company D, the update query with update row 3 (A and D)
> and row 13 (D and A).
>
> So, now company A and company B have the same info. Company A and company
> D have the same info. BUT, company B and company D (rows 7 and 14) also
> need to be checked and this isn't happening. How do I update those rows??
>
> Thanks in advance,
>
> Laura[/color]


Laura
Guest
 
Posts: n/a
#3: Nov 13 '05

re: Updating rows in a table - HELP, I'm beating my head against the wall.


There isn't a need for an employees table. I just need to know if common
employees may exist between the two companies. I don't need a list of them.

Here is the actual update query that occurs when the check box is checked:

UPDATE tblCombinedPlans SET tblCombinedPlans.CommonEEs =
[Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
Subform].[Form].[CommonEEs], tblCombinedPlans.Census =
[Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
Subform].[Form].[Census]
WHERE (((tblCombinedPlans.GA_Number)=[Forms]![frmgroups].[Subform
BasicCase].[Form].[AddlPlans Subform].[Form].[C_GA_Number]) AND
((tblCombinedPlans.PlanNum)=[Forms]![frmgroups].[Subform
BasicCase].[Form].[AddlPlans Subform].[Form].[C_PlanNum]) AND
((tblCombinedPlans.PYE)=[Forms]![frmgroups].[Subform
BasicCase].[Form].[AddlPlans Subform].[Form].[C_PYE]) AND
((tblCombinedPlans.C_GA_Number)=[forms]![frmGroups]![GA_Number]) AND
((tblCombinedPlans.C_PlanNum)=[forms]![frmGroups]![PlanNum]) AND
((tblCombinedPlans.C_PYE)=[forms]![frmGroups]![PYE]));

The fields on the table are:

These three denote the company
GA_Number
PlanNum
PYE

These three denote the linked or 'common' company.
C_GA_Number
C_PlanNum
C_PYE

These are the two checkboxes.
CommonEEs
Census

As you can see from the query above, I made GA_Number = C_GA_Number, etc.
This allowed me to reverse the values.

I was thinking that maybe I should use vb. The table is relatively static
except for the 2 checkboxes. I haven't worked it out completely yet, but I
think I could store the 6 values of a record, then reverse them, and create
a dynamic update query.

Do you think that would work?

Thanks,
Laura

P.S. I love, love, love your website. I found it more than 6 years ago when
I was forced to teach myself Access and couldn't get my mind around how to
do a dynamic dlookup. You are wonderful at explaining things. Thank ypu so
much for all the help over the years.


"Allen Browne" <AllenBrowne@SeeSig.Invalid> wrote in message
news:4189a0cb$0$6554$5a62ac22@per-qv1-newsreader-01.iinet.net.au...[color=blue]
> Laura, this sounds like a maintenance nightmare!
>
> You need Access to calculate this for you at runtime, and you could
> achieve that if you had these 3 tables:
>
> Company table:
> CompanyID primary key
>
> Employee table:
> EmployeeID primary key
>
> CompanyEmployee table:
> CompanyID foreign key to Company.CompanyID
> EmployeeID foreign key to Employee.EmployeeID
>
>
> Now create two queries:
>
> 1. Create a query into the CompanyEmployee table.
> Drag a 2nd copy of the CompanyEmployee table into the grid.
> Access will alias it as CompanyEmployee_1.
>
> 2. In the upper pane, create a join between CompanyEmployee.EmployeeID and
> CompanyEmployee_1.EmployeeID. If you see a join between
> CompanyEmployee.CompanyID and CompanyEmployee_1.CompanyID, delete that
> line.
>
> 3. Drag CompanyEmployee.CompanyID into the query grid.
> Type this into the Field row:
> CommonCompanyID:[CompanyEmployee_1].[CompanyID]
> In the Criteria row under this field, enter:
> <> CompanyEmployee.CompanyID.
>
> 4. Save the query with the name qryEmployeeBoth. Close.
> This query shows each matching company that has shared employees, and
> lists who they are.
>
>
> 1. Create a new query into the Company table and also the query you just
> saved. If you don't see a line joining Company.CompanyID to qryEmployeeID,
> then drag the one field onto the other. Double-click the join line. Access
> pops up a dialog offereing 3 choices. Choose the one that says:
> All records from Company, and any matches from ...
>
> 2. Depress the Totals button on the toobar.
> Access adds a Total row to the grid.
>
> 3. Drag Company.CompanyID and qryEmployeeBoth.CommonCompanyID into the
> grid. Accept Group By under these fields.
>
> 4. Drag qryEmployeeBoth.EmployeeID into the grid. In the Total row, choose
> Count.
>
> This query lists every company matched against any other companies that
> have shared employees, and the number of shared employees.
>
> This willbe the SQL for the 2 queries:
> SELECT CompanyEmployee.CompanyID, CompanyEmployee.EmployeeID,
> CompanyEmployee_1.CompanyID AS CommonCompanyID
> FROM CompanyEmployee INNER JOIN CompanyEmployee AS
> CompanyEmployee_1 ON CompanyEmployee.EmployeeID =
> CompanyEmployee_1.EmployeeID
> WHERE CompanyEmployee_1.CompanyID <> [CompanyEmployee].[CompanyID];
>
>
> SELECT Company.CompanyID, qryEmployeeBoth.CommonCompanyID,
> Count(qryEmployeeBoth.EmployeeID) AS CountOfEmployeeID
> FROM Company LEFT JOIN qryEmployeeBoth
> ON Company.CompanyID = qryEmployeeBoth.CompanyID
> GROUP BY Company.CompanyID, qryEmployeeBoth.CommonCompanyID;
>
> --
> Allen Browne - Microsoft MVP. Perth, Western Australia.
> Tips for Access users - http://allenbrowne.com/tips.html
> Reply to group, rather than allenbrowne at mvps dot org.
>
> "Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
> news:fOfid.9910$IE1.6745@fe1.texas.rr.com...[color=green]
>> Here's the situation:
>>
>> I'm trying to use an update query to copy data from one row to another.
>> Here is the situation:
>>
>> I have 5 companies that are linked to each other. I need to show all 5
>> companies on a form. 3 of the companies have common employees. I have a
>> table that looks like this:
>>
>>
>> Row ID Company Common Company Common EEs (checkboxes)
>> 1 A B
>> 2 A C
>> 3 A D
>> 4 A E
>> 5 B A
>> 6 B C
>> 7 B D
>> 8 B E
>> 9 C A
>> 10 C B
>> 11 C D
>> 12 C E
>> 13 D A
>> 14 D B
>> 15 D C
>> 16 D E
>>
>> and so on.
>>
>> If I were to look at Company A in a form, in the form header I have:
>>
>> Company A
>>
>> In the detail section (as a continuous form) I show it's linked
>> companies:
>>
>> Company B
>> Company C
>> Company D
>> Company E
>>
>> With a checkbox next to each name in the detail section.
>>
>> In this scenario, company B and D have common employees with company A.
>> So, when you check the box next to B, I have a query that will check the
>> row with Company A and Company B (row 1) and the row with Company B and
>> Company A (row 5). The same with Company A and Company D. When you
>> check the box next to Company D, the update query with update row 3 (A
>> and D) and row 13 (D and A).
>>
>> So, now company A and company B have the same info. Company A and
>> company D have the same info. BUT, company B and company D (rows 7 and
>> 14) also need to be checked and this isn't happening. How do I update
>> those rows??
>>
>> Thanks in advance,
>>
>> Laura[/color]
>
>[/color]


Allen Browne
Guest
 
Posts: n/a
#4: Nov 13 '05

re: Updating rows in a table - HELP, I'm beating my head against the wall.


Laura, what bothers me is the non-normalized data structure, where you have
one record dependent on another. That *is* the problem that you are trying
to solve by forcing the update of the other record when one changes. To me,
that approach would be unacceptable, e.g. if the write fails for some reason
(e.g. another user is editing that record), your database gradually becomes
more and more wrong over time.

Some kind of junction table(s) between 2 instances of the company table
seems to be a more reliable approach.

Thanks for the comments re the website. Like many of the regular
contributors here, I enjoy empowering people to achieve things for
themselves.

--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users - http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.

"Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
news:0Rhid.11238$IE1.2300@fe1.texas.rr.com...[color=blue]
> There isn't a need for an employees table. I just need to know if common
> employees may exist between the two companies. I don't need a list of
> them.
>
> Here is the actual update query that occurs when the check box is checked:
>
> UPDATE tblCombinedPlans SET tblCombinedPlans.CommonEEs =
> [Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
> Subform].[Form].[CommonEEs], tblCombinedPlans.Census =
> [Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
> Subform].[Form].[Census]
> WHERE (((tblCombinedPlans.GA_Number)=[Forms]![frmgroups].[Subform
> BasicCase].[Form].[AddlPlans Subform].[Form].[C_GA_Number]) AND
> ((tblCombinedPlans.PlanNum)=[Forms]![frmgroups].[Subform
> BasicCase].[Form].[AddlPlans Subform].[Form].[C_PlanNum]) AND
> ((tblCombinedPlans.PYE)=[Forms]![frmgroups].[Subform
> BasicCase].[Form].[AddlPlans Subform].[Form].[C_PYE]) AND
> ((tblCombinedPlans.C_GA_Number)=[forms]![frmGroups]![GA_Number]) AND
> ((tblCombinedPlans.C_PlanNum)=[forms]![frmGroups]![PlanNum]) AND
> ((tblCombinedPlans.C_PYE)=[forms]![frmGroups]![PYE]));
>
> The fields on the table are:
>
> These three denote the company
> GA_Number
> PlanNum
> PYE
>
> These three denote the linked or 'common' company.
> C_GA_Number
> C_PlanNum
> C_PYE
>
> These are the two checkboxes.
> CommonEEs
> Census
>
> As you can see from the query above, I made GA_Number = C_GA_Number, etc.
> This allowed me to reverse the values.
>
> I was thinking that maybe I should use vb. The table is relatively static
> except for the 2 checkboxes. I haven't worked it out completely yet, but
> I think I could store the 6 values of a record, then reverse them, and
> create a dynamic update query.
>
> Do you think that would work?
>
> Thanks,
> Laura
>
> P.S. I love, love, love your website. I found it more than 6 years ago
> when I was forced to teach myself Access and couldn't get my mind around
> how to do a dynamic dlookup. You are wonderful at explaining things.
> Thank ypu so much for all the help over the years.
>
>
> "Allen Browne" <AllenBrowne@SeeSig.Invalid> wrote in message
> news:4189a0cb$0$6554$5a62ac22@per-qv1-newsreader-01.iinet.net.au...[color=green]
>> Laura, this sounds like a maintenance nightmare!
>>
>> You need Access to calculate this for you at runtime, and you could
>> achieve that if you had these 3 tables:
>>
>> Company table:
>> CompanyID primary key
>>
>> Employee table:
>> EmployeeID primary key
>>
>> CompanyEmployee table:
>> CompanyID foreign key to Company.CompanyID
>> EmployeeID foreign key to Employee.EmployeeID
>>
>>
>> Now create two queries:
>>
>> 1. Create a query into the CompanyEmployee table.
>> Drag a 2nd copy of the CompanyEmployee table into the grid.
>> Access will alias it as CompanyEmployee_1.
>>
>> 2. In the upper pane, create a join between CompanyEmployee.EmployeeID
>> and CompanyEmployee_1.EmployeeID. If you see a join between
>> CompanyEmployee.CompanyID and CompanyEmployee_1.CompanyID, delete that
>> line.
>>
>> 3. Drag CompanyEmployee.CompanyID into the query grid.
>> Type this into the Field row:
>> CommonCompanyID:[CompanyEmployee_1].[CompanyID]
>> In the Criteria row under this field, enter:
>> <> CompanyEmployee.CompanyID.
>>
>> 4. Save the query with the name qryEmployeeBoth. Close.
>> This query shows each matching company that has shared employees, and
>> lists who they are.
>>
>>
>> 1. Create a new query into the Company table and also the query you just
>> saved. If you don't see a line joining Company.CompanyID to
>> qryEmployeeID, then drag the one field onto the other. Double-click the
>> join line. Access pops up a dialog offereing 3 choices. Choose the one
>> that says:
>> All records from Company, and any matches from ...
>>
>> 2. Depress the Totals button on the toobar.
>> Access adds a Total row to the grid.
>>
>> 3. Drag Company.CompanyID and qryEmployeeBoth.CommonCompanyID into the
>> grid. Accept Group By under these fields.
>>
>> 4. Drag qryEmployeeBoth.EmployeeID into the grid. In the Total row,
>> choose Count.
>>
>> This query lists every company matched against any other companies that
>> have shared employees, and the number of shared employees.
>>
>> This willbe the SQL for the 2 queries:
>> SELECT CompanyEmployee.CompanyID, CompanyEmployee.EmployeeID,
>> CompanyEmployee_1.CompanyID AS CommonCompanyID
>> FROM CompanyEmployee INNER JOIN CompanyEmployee AS
>> CompanyEmployee_1 ON CompanyEmployee.EmployeeID =
>> CompanyEmployee_1.EmployeeID
>> WHERE CompanyEmployee_1.CompanyID <> [CompanyEmployee].[CompanyID];
>>
>>
>> SELECT Company.CompanyID, qryEmployeeBoth.CommonCompanyID,
>> Count(qryEmployeeBoth.EmployeeID) AS CountOfEmployeeID
>> FROM Company LEFT JOIN qryEmployeeBoth
>> ON Company.CompanyID = qryEmployeeBoth.CompanyID
>> GROUP BY Company.CompanyID, qryEmployeeBoth.CommonCompanyID;
>>
>>
>> "Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
>> news:fOfid.9910$IE1.6745@fe1.texas.rr.com...[color=darkred]
>>> Here's the situation:
>>>
>>> I'm trying to use an update query to copy data from one row to another.
>>> Here is the situation:
>>>
>>> I have 5 companies that are linked to each other. I need to show all 5
>>> companies on a form. 3 of the companies have common employees. I have a
>>> table that looks like this:
>>>
>>>
>>> Row ID Company Common Company Common EEs (checkboxes)
>>> 1 A B
>>> 2 A C
>>> 3 A D
>>> 4 A E
>>> 5 B A
>>> 6 B C
>>> 7 B D
>>> 8 B E
>>> 9 C A
>>> 10 C B
>>> 11 C D
>>> 12 C E
>>> 13 D A
>>> 14 D B
>>> 15 D C
>>> 16 D E
>>>
>>> and so on.
>>>
>>> If I were to look at Company A in a form, in the form header I have:
>>>
>>> Company A
>>>
>>> In the detail section (as a continuous form) I show it's linked
>>> companies:
>>>
>>> Company B
>>> Company C
>>> Company D
>>> Company E
>>>
>>> With a checkbox next to each name in the detail section.
>>>
>>> In this scenario, company B and D have common employees with company A.
>>> So, when you check the box next to B, I have a query that will check the
>>> row with Company A and Company B (row 1) and the row with Company B and
>>> Company A (row 5). The same with Company A and Company D. When you
>>> check the box next to Company D, the update query with update row 3 (A
>>> and D) and row 13 (D and A).
>>>
>>> So, now company A and company B have the same info. Company A and
>>> company D have the same info. BUT, company B and company D (rows 7 and
>>> 14) also need to be checked and this isn't happening. How do I update
>>> those rows??
>>>
>>> Thanks in advance,
>>>
>>> Laura[/color][/color][/color]


MA
Guest
 
Posts: n/a
#5: Nov 13 '05

re: Updating rows in a table - HELP, I'm beating my head against the wall.



"Allen Browne" <AllenBrowne@SeeSig.Invalid> ha scritto nel messaggio
news:4189b894$0$6546$5a62ac22@per-qv1-newsreader-01.iinet.net.au...[color=blue]
> Laura, what bothers me is the non-normalized data structure, where you[/color]
have[color=blue]
> one record dependent on another. That *is* the problem[/color]
Oh J thought the the problem was be or not to be!!!
Damn J've to study better Access...
[color=blue]
> that you are trying
> to solve by forcing the update of the other record when one changes. To[/color]
me,[color=blue]
> that approach would be unacceptable, e.g. if the write fails for some[/color]
reason[color=blue]
> (e.g. another user is editing that record), your database gradually[/color]
becomes[color=blue]
> more and more wrong over time.
>
> Some kind of junction table(s) between 2 instances of the company table
> seems to be a more reliable approach.
>
> Thanks for the comments re the website. Like many of the regular
> contributors here, I enjoy empowering people to achieve things for
> themselves.[/color]

Sorry for jocking, J'm completly agree with you answer
MAssimiliano
[color=blue]
>
> --
> Allen Browne - Microsoft MVP. Perth, Western Australia.
> Tips for Access users - http://allenbrowne.com/tips.html
> Reply to group, rather than allenbrowne at mvps dot org.
>
> "Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
> news:0Rhid.11238$IE1.2300@fe1.texas.rr.com...[color=green]
> > There isn't a need for an employees table. I just need to know if[/color][/color]
common[color=blue][color=green]
> > employees may exist between the two companies. I don't need a list of
> > them.
> >
> > Here is the actual update query that occurs when the check box is[/color][/color]
checked:[color=blue][color=green]
> >
> > UPDATE tblCombinedPlans SET tblCombinedPlans.CommonEEs =
> > [Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
> > Subform].[Form].[CommonEEs], tblCombinedPlans.Census =
> > [Forms]![frmgroups].[Subform BasicCase].[Form].[AddlPlans
> > Subform].[Form].[Census]
> > WHERE (((tblCombinedPlans.GA_Number)=[Forms]![frmgroups].[Subform
> > BasicCase].[Form].[AddlPlans Subform].[Form].[C_GA_Number]) AND
> > ((tblCombinedPlans.PlanNum)=[Forms]![frmgroups].[Subform
> > BasicCase].[Form].[AddlPlans Subform].[Form].[C_PlanNum]) AND
> > ((tblCombinedPlans.PYE)=[Forms]![frmgroups].[Subform
> > BasicCase].[Form].[AddlPlans Subform].[Form].[C_PYE]) AND
> > ((tblCombinedPlans.C_GA_Number)=[forms]![frmGroups]![GA_Number]) AND
> > ((tblCombinedPlans.C_PlanNum)=[forms]![frmGroups]![PlanNum]) AND
> > ((tblCombinedPlans.C_PYE)=[forms]![frmGroups]![PYE]));
> >
> > The fields on the table are:
> >
> > These three denote the company
> > GA_Number
> > PlanNum
> > PYE
> >
> > These three denote the linked or 'common' company.
> > C_GA_Number
> > C_PlanNum
> > C_PYE
> >
> > These are the two checkboxes.
> > CommonEEs
> > Census
> >
> > As you can see from the query above, I made GA_Number = C_GA_Number,[/color][/color]
etc.[color=blue][color=green]
> > This allowed me to reverse the values.
> >
> > I was thinking that maybe I should use vb. The table is relatively[/color][/color]
static[color=blue][color=green]
> > except for the 2 checkboxes. I haven't worked it out completely yet,[/color][/color]
but[color=blue][color=green]
> > I think I could store the 6 values of a record, then reverse them, and
> > create a dynamic update query.
> >
> > Do you think that would work?
> >
> > Thanks,
> > Laura
> >
> > P.S. I love, love, love your website. I found it more than 6 years ago
> > when I was forced to teach myself Access and couldn't get my mind around
> > how to do a dynamic dlookup. You are wonderful at explaining things.
> > Thank ypu so much for all the help over the years.
> >
> >
> > "Allen Browne" <AllenBrowne@SeeSig.Invalid> wrote in message
> > news:4189a0cb$0$6554$5a62ac22@per-qv1-newsreader-01.iinet.net.au...[color=darkred]
> >> Laura, this sounds like a maintenance nightmare!
> >>
> >> You need Access to calculate this for you at runtime, and you could
> >> achieve that if you had these 3 tables:
> >>
> >> Company table:
> >> CompanyID primary key
> >>
> >> Employee table:
> >> EmployeeID primary key
> >>
> >> CompanyEmployee table:
> >> CompanyID foreign key to Company.CompanyID
> >> EmployeeID foreign key to Employee.EmployeeID
> >>
> >>
> >> Now create two queries:
> >>
> >> 1. Create a query into the CompanyEmployee table.
> >> Drag a 2nd copy of the CompanyEmployee table into the grid.
> >> Access will alias it as CompanyEmployee_1.
> >>
> >> 2. In the upper pane, create a join between CompanyEmployee.EmployeeID
> >> and CompanyEmployee_1.EmployeeID. If you see a join between
> >> CompanyEmployee.CompanyID and CompanyEmployee_1.CompanyID, delete that
> >> line.
> >>
> >> 3. Drag CompanyEmployee.CompanyID into the query grid.
> >> Type this into the Field row:
> >> CommonCompanyID:[CompanyEmployee_1].[CompanyID]
> >> In the Criteria row under this field, enter:
> >> <> CompanyEmployee.CompanyID.
> >>
> >> 4. Save the query with the name qryEmployeeBoth. Close.
> >> This query shows each matching company that has shared employees, and
> >> lists who they are.
> >>
> >>
> >> 1. Create a new query into the Company table and also the query you[/color][/color][/color]
just[color=blue][color=green][color=darkred]
> >> saved. If you don't see a line joining Company.CompanyID to
> >> qryEmployeeID, then drag the one field onto the other. Double-click the
> >> join line. Access pops up a dialog offereing 3 choices. Choose the one
> >> that says:
> >> All records from Company, and any matches from ...
> >>
> >> 2. Depress the Totals button on the toobar.
> >> Access adds a Total row to the grid.
> >>
> >> 3. Drag Company.CompanyID and qryEmployeeBoth.CommonCompanyID into the
> >> grid. Accept Group By under these fields.
> >>
> >> 4. Drag qryEmployeeBoth.EmployeeID into the grid. In the Total row,
> >> choose Count.
> >>
> >> This query lists every company matched against any other companies that
> >> have shared employees, and the number of shared employees.
> >>
> >> This willbe the SQL for the 2 queries:
> >> SELECT CompanyEmployee.CompanyID, CompanyEmployee.EmployeeID,
> >> CompanyEmployee_1.CompanyID AS CommonCompanyID
> >> FROM CompanyEmployee INNER JOIN CompanyEmployee AS
> >> CompanyEmployee_1 ON CompanyEmployee.EmployeeID =
> >> CompanyEmployee_1.EmployeeID
> >> WHERE CompanyEmployee_1.CompanyID <> [CompanyEmployee].[CompanyID];
> >>
> >>
> >> SELECT Company.CompanyID, qryEmployeeBoth.CommonCompanyID,
> >> Count(qryEmployeeBoth.EmployeeID) AS CountOfEmployeeID
> >> FROM Company LEFT JOIN qryEmployeeBoth
> >> ON Company.CompanyID = qryEmployeeBoth.CompanyID
> >> GROUP BY Company.CompanyID, qryEmployeeBoth.CommonCompanyID;
> >>
> >>
> >> "Laura" <musicloverlch@(removethis)yahoo.com> wrote in message
> >> news:fOfid.9910$IE1.6745@fe1.texas.rr.com...
> >>> Here's the situation:
> >>>
> >>> I'm trying to use an update query to copy data from one row to[/color][/color][/color]
another.[color=blue][color=green][color=darkred]
> >>> Here is the situation:
> >>>
> >>> I have 5 companies that are linked to each other. I need to show all[/color][/color][/color]
5[color=blue][color=green][color=darkred]
> >>> companies on a form. 3 of the companies have common employees. I have[/color][/color][/color]
a[color=blue][color=green][color=darkred]
> >>> table that looks like this:
> >>>
> >>>
> >>> Row ID Company Common Company Common EEs (checkboxes)
> >>> 1 A B
> >>> 2 A C
> >>> 3 A D
> >>> 4 A E
> >>> 5 B A
> >>> 6 B C
> >>> 7 B D
> >>> 8 B E
> >>> 9 C A
> >>> 10 C B
> >>> 11 C D
> >>> 12 C E
> >>> 13 D A
> >>> 14 D B
> >>> 15 D C
> >>> 16 D E
> >>>
> >>> and so on.
> >>>
> >>> If I were to look at Company A in a form, in the form header I have:
> >>>
> >>> Company A
> >>>
> >>> In the detail section (as a continuous form) I show it's linked
> >>> companies:
> >>>
> >>> Company B
> >>> Company C
> >>> Company D
> >>> Company E
> >>>
> >>> With a checkbox next to each name in the detail section.
> >>>
> >>> In this scenario, company B and D have common employees with company[/color][/color][/color]
A.[color=blue][color=green][color=darkred]
> >>> So, when you check the box next to B, I have a query that will check[/color][/color][/color]
the[color=blue][color=green][color=darkred]
> >>> row with Company A and Company B (row 1) and the row with Company B[/color][/color][/color]
and[color=blue][color=green][color=darkred]
> >>> Company A (row 5). The same with Company A and Company D. When you
> >>> check the box next to Company D, the update query with update row 3 (A
> >>> and D) and row 13 (D and A).
> >>>
> >>> So, now company A and company B have the same info. Company A and
> >>> company D have the same info. BUT, company B and company D (rows 7[/color][/color][/color]
and[color=blue][color=green][color=darkred]
> >>> 14) also need to be checked and this isn't happening. How do I update
> >>> those rows??
> >>>
> >>> Thanks in advance,
> >>>
> >>> Laura[/color][/color]
>
>[/color]


Closed Thread


Similar Microsoft Access / VBA bytes