You can use temporary tables like that to simplify your life, but you don't actually have to. Every Query can be treated as if it is a table, so you can use a second query to analyze the results of a first query.
Am I correct in guessing that you have several different readings on each record? reading1, reading2, reading3 and so on? That not the preferred way to do it, but it can work in a limited database.
So you have a query, call it qryAvgTest like this:
Code:
SELECT ReadingDate,
AVG(Reading1) AS AvgReading1,
AVG(Reading2) AS AvgReading2,
AVG(Reading3) AS AvgReading3
FROM tblTest
GROUP BY ReadingDate;
To put that into a second table you'd create an insert query (qryInsAvgReading) like this:
Code:
INSERT INTO tblAvgTest
(ReadingDate, AvgReading1, AvgReading2, AvgReading3)
(SELECT ReadingDate,
AVG(Reading1),
AVG(Reading2),
AVG(Reading3)
FROM tblTest
GROUP BY ReadingDate);
Of course, the second time you ran that query, you'd have to either clear the table out before you ran that query, or add a WHERE clause that limited the new records by ReadingDate.
After the update had run, you can use tblAvgTest or qryAvgTest as the source for another query or report, and they should give the exact same result.
In practice, I only use temporary tables when they vastly simplify a query that was getting overcomplex.