Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion GroupsFormsForms ProgrammingQueriesModules / DAO / VBAReports / PrintingMacrosDatabase DesignSecurityConversionImporting / LinkingSQL Server / ADPMultiuser / NetworkingReplicationSetup / ConfigurationDeveloper ToolkitsActiveX ControlsNew UsersGeneral 1General 2
Access DirectoryToolsTutorialsUser Groups
Related Topics
SQL ServerOther DB ProductsMS OfficeMore Topics ...

MS Access Forum / General 2 / July 2007

Tip: Looking for answers? Try searching our database.

Union Query Problem

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Craig - 13 Jul 2007 15:58 GMT
Hi,
I have a union query which brings together Process/Quality Costs, the
problem im having is that i need the first "Start Cost" to come through into
the second part of the query, so i can apply that cost to the second process
- for a total. this needs to go on for 5 to 6 processes.
Any ideas?

Regars

Craig

''Process1"

SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100)
AS StartCost, QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead] AS TotCost,
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
FROM Quality INNER JOIN (Process INNER JOIN (QryRawProcessSumed INNER JOIN
ProcessQuality ON (QryRawProcessSumed.ProcessID = ProcessQuality.ProcessID)
AND (QryRawProcessSumed.QualityCode = ProcessQuality.QualityCode)) ON
Process.ProcessID = ProcessQuality.ProcessID) ON Quality.QualityCode =
ProcessQuality.QualityCode
GROUP BY QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100),
QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead],
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
HAVING (QryRawProcessSumed.ProcessID)=6

UNION

''Process 2"

SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100)
AS StartCost, QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead] AS TotCost,
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
FROM Quality INNER JOIN (Process INNER JOIN (QryRawProcessSumed INNER JOIN
ProcessQuality ON (QryRawProcessSumed.ProcessID = ProcessQuality.ProcessID)
AND (QryRawProcessSumed.QualityCode = ProcessQuality.QualityCode)) ON
Process.ProcessID = ProcessQuality.ProcessID) ON Quality.QualityCode =
ProcessQuality.QualityCode
GROUP BY QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100),
QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead],
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
HAVING (QryRawProcessSumed.ProcessID)=3
Jeff Boyce - 13 Jul 2007 17:27 GMT
Post a copy of the SQL you are using for the query.  It's a bit tough not
having any points of reference to the domain or the specifics of what you
can see (*but we can't*).

Regards

Jeff Boyce
Microsoft Office/Access MVP

> Hi,
> I have a union query which brings together Process/Quality Costs, the
[quoted text clipped - 66 lines]
> ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
> HAVING (QryRawProcessSumed.ProcessID)=3
Craig - 16 Jul 2007 10:06 GMT
SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100)
AS StartCost, QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead] AS TotCost,
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
FROM Quality INNER JOIN (Process INNER JOIN (QryRawProcessSumed INNER JOIN
ProcessQuality ON (QryRawProcessSumed.ProcessID = ProcessQuality.ProcessID)
AND (QryRawProcessSumed.QualityCode = ProcessQuality.QualityCode)) ON
Process.ProcessID = ProcessQuality.ProcessID) ON Quality.QualityCode =
ProcessQuality.QualityCode
GROUP BY QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100),
QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead],
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
HAVING (QryRawProcessSumed.ProcessID)=6

UNION

SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100)
AS StartCost, QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead] AS TotCost,
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
FROM Quality INNER JOIN (Process INNER JOIN (QryRawProcessSumed INNER JOIN
ProcessQuality ON (QryRawProcessSumed.ProcessID = ProcessQuality.ProcessID)
AND (QryRawProcessSumed.QualityCode = ProcessQuality.QualityCode)) ON
Process.ProcessID = ProcessQuality.ProcessID) ON Quality.QualityCode =
ProcessQuality.QualityCode
GROUP BY QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100),
QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead],
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
HAVING (QryRawProcessSumed.ProcessID)=3

UNION SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100)
AS StartCost, QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead] AS TotCost,
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
FROM Quality INNER JOIN (Process INNER JOIN (QryRawProcessSumed INNER JOIN
ProcessQuality ON (QryRawProcessSumed.ProcessID = ProcessQuality.ProcessID)
AND (QryRawProcessSumed.QualityCode = ProcessQuality.QualityCode)) ON
Process.ProcessID = ProcessQuality.ProcessID) ON Quality.QualityCode =
ProcessQuality.QualityCode
GROUP BY QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
ProcessQuality.Labour, ProcessQuality.VarOverHead,
ProcessQuality.FixedOverHead, ProcessQuality.ProcessWaste,
([SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead])*([ProcessInput/Output])*(1+[NextProcessWaste]/100),
QryRawProcessSumed.SumOfRawWasteMatCost,
[SumOfRawWasteMatCost]+[Labour]+[VarOverHead]+[FixedOverHead],
Process.[ProcessInput/Output], ProcessQuality.NextProcessWaste,
Quality.ProdStatus, Quality.ProductType, ProcessQuality.LabourCalc,
ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
HAVING (QryRawProcessSumed.ProcessID)=4;

> Post a copy of the SQL you are using for the query.  It's a bit tough not
> having any points of reference to the domain or the specifics of what you
[quoted text clipped - 75 lines]
> > ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
> > HAVING (QryRawProcessSumed.ProcessID)=3
Jeff Boyce - 16 Jul 2007 23:21 GMT
Craig

I'm not sure I'm following...

Your original post mentioned something about a 'second part of the query'
and so on for 5 or 6 processes.

Your union query seems, at first glance to be doing the same (?very similar)
calculations on the same set of data, for 3 separate ProcessIDs.

It would probably help to get a bit more description of how you've organized
your underlying data, and what you want to do (not "how").

Regards

Jeff Boyce
Microsoft Office/Access MVP

> SELECT QryRawProcessSumed.ProcessID, QryRawProcessSumed.QualityCode,
> ProcessQuality.Labour, ProcessQuality.VarOverHead,
[quoted text clipped - 159 lines]
>> > ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
>> > HAVING (QryRawProcessSumed.ProcessID)=3
Craig - 17 Jul 2007 08:22 GMT
Basically im wanting to bring the total cost of process 1 into process 2; as
the start cost, so the cost accumulates as it passes through each process.

> Craig
>
[quoted text clipped - 177 lines]
> >> > ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
> >> > HAVING (QryRawProcessSumed.ProcessID)=3
Jeff Boyce - 17 Jul 2007 16:16 GMT
Craig

So, the total cost of Process1 is $XXX.

The total cost of Process2 is $YYY.

The total cost of Process3 is $ZZZ.

The total cumulative cost through Process2 is $XXX + $YYY.

...

The total TOTAL cost is $XXX + $YYY + $ZZZ.

Is there a reason you couldn't get a Totals query to give you the
per-Process total cost?

And I still don't have a clear picture of how you've structured your data,
so any "how to" question still 'depends'...

Regards

Jeff Boyce
Microsoft Office/Access MVP

> Basically im wanting to bring the total cost of process 1 into process 2;
> as
[quoted text clipped - 202 lines]
>> >> > ProcessQuality.VarHeadCalc, ProcessQuality.FixedHeadCalc
>> >> > HAVING (QryRawProcessSumed.ProcessID)=3
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.