build a 'report' table with the columns needed.
then build an append query for each column.
put all queries in a macro.
then empty the table, run the macro.
after the macro runs, run 1 final select query that sums all the columns for reporting.
Also I have done something similar to what the OP is asking for by using a bunch of DSum() functions in textboxes on the report. Must admit the report was a bit slow loading.