So I ended up using this instead.
Though having to do it in two steps to get the cumulative totals
Code:
TRANSFORM Count(dbo_v030mbrshp01PdMembers.MembershipNumber) AS CountOfMembershipNumber
SELECT dbo_v030mbrshp01PdMembers.MemberTypeID, dbo_v030mbrshp01PdMembers.MemberGroup, dbo_v030mbrshp01PdMembers.MemberType
FROM dbo_v030mbrshp01PdMembers
WHERE (((dbo_v030mbrshp01PdMembers.MemberTypeID)=1 Or (dbo_v030mbrshp01PdMembers.MemberTypeID)=2 Or (dbo_v030mbrshp01PdMembers.MemberTypeID)=4) AND ((dbo_v030mbrshp01PdMembers.PaymentDate) Between IIf(Month(Date())<=6,DateSerial(Year(Date())-1,5,1),DateSerial(Year(Date()),5,1)) And IIf(Month(Date())<=6,DateSerial(Year(Date()),6,30),DateSerial(Year(Date())+1,6,30))) AND ((dbo_v030mbrshp01PdMembers.EndDate)=IIf(Month(Date())<=6,DateSerial(Year(Date()),6,30),DateSerial(Year(Date())+1,6,30))))
GROUP BY dbo_v030mbrshp01PdMembers.MemberTypeID, dbo_v030mbrshp01PdMembers.MemberGroup, dbo_v030mbrshp01PdMembers.MemberType
ORDER BY dbo_v030mbrshp01PdMembers.MemberTypeID
PIVOT "Mth" & DateDiff("m",[PaymentDate],IIf(Month(Date())<=6,DateSerial(Year(Date())-1,6,30),DateSerial(Year(Date()),6,30))) In ("Mth1","Mth0","Mth-1","Mth-2","Mth-3","Mth-4","Mth-5","Mth-6","Mth-7","Mth-8","Mth-9","Mth-10","Mth-11","Mth-12");
then this for the cumulation:
Code:
SELECT [01_RegMembers].MemberTypeID, [01_RegMembers].MemberGroup, [01_RegMembers].MemberType, Nz([Mth1])+Nz([Mth0])+Nz([Mth-1]) AS Jul, [Jul]+Nz([Mth-2]) AS Aug, [Aug]+Nz([Mth-3]) AS Sep, [Sep]+Nz([Mth-4]) AS Oct, [Oct]+Nz([Mth-5]) AS Nov, [Nov]+Nz([Mth-6]) AS [Dec], [Dec]+Nz([Mth-7]) AS Jan, [Jan]+Nz([Mth-8]) AS Feb, [Feb]+Nz([Mth-9]) AS Mar, [Mar]+Nz([Mth-10]) AS Apr, [Apr]+Nz([Mth-11]) AS May, [May]+Nz([Mth-12]) AS Jun
FROM 01_RegMembers
ORDER BY [01_RegMembers].MemberTypeID;
This ties out to the details