if the data is coming from the same table, then you could generate a query with the year as a derived column in the data source query.
group your report on that year value
create a column in the report detail (or use running totals derived formt eh forms detail event) which contains the sales value for the year and subtract that from the current year.
WHat about Doing A Union Query Joining data then a Make Table then a Crosstab on the make(made) table then a make table again then show the it in a report
1 DoCmd.SetWarnings False
2 DoCmd.RunSQL "MK on the Union query"
3 Docmd.RunSQL "bla"
5 DoCmd.SetWarnings True
6 OPen report of form
hope this help
See clear as mud
the aim is store once, not store multiple times
Remember... Optimize 'til you die!
Progaming environment: Access based on my own environment: DAO3.6/A97/A2000/A2003/A2007/A2010 VB based on my own environment: vb6 sp5 ASP based on my own environment: 5.6 VB-NET based on my own environment started 2007 SQL-2005 based on my own environment started 2008 MYLE YOUR PASSWORD IS JUST LIKE YOUR TOOTHBRUSH DON'T SHARE IT.