"Layered queries" simply means not doing the whole process in a single step. Often, a similar results set is desired/required form the source data and you can get the individual results in single data sets and then join them so that individual rows of the final results represent the single results. This usually requires a "row heading" to identify the individual results. A somewhat simplistic example follows:
SELECT Format([Date Received],"yy/mm"

AS Mnth, [Basic Data].SupvDept AS Dept, [Basic Data].Qi AS NumCalls
FROM [Basic Data]
WHERE (((Format([Date Received],"yy/mm"

) Between Format(DateSerial(Year(Date()),Month(Date()),0),"yy/mm"

And Format(DateAdd("m",-6,DateSerial(Year(Date()),Month(Date()),1)),"yy/mm"

))
ORDER BY Format([Date Received],"yy/mm"

;
TRANSFORM Count(qSelCallsByDept.NumCalls) AS NumCalls
SELECT Format([Mnth],"mmm"", ""yy"

AS Month, Count(qSelCallsByDept.NumCalls) AS TotCalls
FROM qForceSupvDept LEFT JOIN qSelCallsByDept ON qForceSupvDept.SupvDept = qSelCallsByDept.Dept
GROUP BY Format([Mnth],"mmm"", ""yy"

, qSelCallsByDept.Mnth
ORDER BY qSelCallsByDept.Mnth
PIVOT qForceSupvDept.SupvDept;
SELECT tblSupvDept.SupvDept, 1 AS Num
FROM tblSupvDept;
SELECT qXTabCallsByDept6Mnth.Month, [JA3111100]/[TotCalls] AS Dept1100, [JA3111200]/[TotCalls] AS Dept1200, [JA3111300]/[TotCalls] AS Dept1300, [JA3111400]/[TotCalls] AS Dept1400, [JA3111700]/[TotCalls] AS Dept1700, [JA3112100]/[TotCalls] AS Dept2100, [JA3112200]/[TotCalls] AS Dept2200, [JA3112300]/[TotCalls] AS Dept2300, [JA3112400]/[TotCalls] AS Dept2400, [JA3112500]/[TotCalls] AS Dept2500, [JA3112600]/[TotCalls] AS Dept2600, [JA3113200]/[TotCalls] AS Dept3100, [JA3113300]/[TotCalls] AS Dept3300
FROM qXTabCallsByDept6Mnth
WHERE (((qXTabCallsByDept6Mnth.TotCalls)<>0 And Not (qXTabCallsByDept6Mnth.TotCalls) Is Null));
MichaelRed
mred@duvallgroup.com
There is never time to do it right but there is always time to do it over