You can use a single query to get all of you data, since the group of records created in the previous year is a superset of all of the smaller groups:
WHERE DateDiff(“y”,[Field1],Date())<= 365
ORDER BY [field1] DESC;
Note: You will need to be careful to change the 365 to 366 on leap years (or if you can get the modulus function to work then you can use a conditional if (iif) in the where clause).
As for the Access report writer: I don’t really like it either. You can get a third party report writer like Crystal Reports. The only thing there is, Access uses an older version of Crystal Reports, so the interface is very similar. If you still with the Access report writer, try using the wizard to create you reports. For this particular report I think you will probably need to have three subreports to accomodate your subsets of data.
I hope this helps.