A family of Microsoft relational database management systems designed for ease of use.
Try something like this:
PARAMETERS Forms!NameOfForm!txtStartDate DATETIME;
SELECT ItemNumber,
SUM(TransactionAmount * ABS(TransactionDate BETWEEN DATEADD("m",-1,DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate),1)) AND DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate)+1,0))) AS [1 Month],
SUM(TransactionAmount * ABS(TransactionDate BETWEEN DATEADD("m",-3,DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate),1)) AND DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate)+1,0))) AS [3 Months],
SUM(TransactionAmount * ABS(TransactionDate BETWEEN DATEADD("m",-6,DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate),1)) AND DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate)+1,0))) AS [6 Months],
SUM(TransactionAmount * ABS(TransactionDate BETWEEN DATEADD("m",-9,DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate),1)) AND DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate)+1,0))) AS [9 Months],
SUM(TransactionAmount * ABS(TransactionDate BETWEEN DATEADD("m",-12,DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate),1)) AND DATESERIAL(YEAR(Forms!NameOfForm!txtStartDate), MONTH(Forms!NameOfForm!txtStartDate)+1,0))) AS [12 Months]
FROM Transactions
GROUP BY ItemNumber;
where txtStartDate is a text box control containing a date in the final month of each date range, and NameOfForm is the name of an open form containing the text box.