Suggest you do 3 queries and 3 subreports based on these queries
Modify table & field names to match your database
a) Year
Code:
SELECT Year([DonationDate]) AS DonationYear, Sum(tblDonations.Donation) AS TotalDonations
FROM tblDonations
GROUP BY Year([DonationDate]);
b) Month (gives month number)
Code:
SELECT Month([DonationDate]) AS DonationMonth, Sum(tblDonations.Donation) AS TotalDonations
FROM tblDonations
GROUP BY Year([DonationDate]);
c) Week
Code:
SELECT DatePart("ww",[DonationDate]) AS DonationWeek, Sum(tblDonations.Donation) AS TotalDonationsFROM tblDonations
GROUP BY DatePart("ww",[DonationDate]);
NOTE: If your reports will span more than one year you should include Year([DonationDate]) in each query