You need to create a temporary table that normalizes the data with these columns:
Year (2005, 2006, etc.)
Data Category (Total Sales, Product, etc.)
Amount
Then you run a crosstab on the table with the year as you Column Heading, Data Category as your Row Heading, and Amount as your Value field using Sum. If you want to order the Data Category, create another table with the list of values and their sort order and link on that in the crosstab query sorting on the sort order field.
The code to normalize your data would be pretty simple to write. If that's too much, consider our Total Access Statistics program which has a data normalization feature optimized to manage a large number of records and options. More info here: http://www.fmsinc.com/MicrosoftAccess/StatisticalAnalysis.html
Good luck.