I couldn't test the query, but on fly to get all payments for every member made in operating year 2017-2018 it will be something like
Code:
SELECT ci.[Last Name], ci.[First Name], mt.[Membership Date], SUM(mt.[Membership Amount]) AS [Membership Amount], dt.[Donation Date], SUM(dt.[Donation Amount]) AS [Donation Amount]
FROM (([Contacts Information] ci LEFT JOIN [Membership Table] mt ON mt.ContactID = ci.ContactID) LEFT JOIN [Donations Table] dt ON dt.ContactID = ci.ContactID)
WHERE
(mt.[Membership Date] > DateSerial(2017,31,7) AND mt.[Membership Date] < DateSerial(2018,1,8)) AND
(mt.[Donation Date] > DateSerial(2017,31,7) AND mt.[Donation Date] < DateSerial(2018,1,8))
GROUP BY ci.[Last Name], ci.[First Name], mt.[Membership Date], dt.[Donation Date]
To get the total of all payments in operating year 2017-2018 the query maybe will be something like
Code:
SELECT SUM(mt.[Membership Amount]) AS [Membership Amount], SUM(dt.[Donation Amount]) AS [Donation Amount]
FROM (([Contacts Information] ci LEFT JOIN [Membership Table] mt ON mt.ContactID = ci.ContactID) LEFT JOIN [Donations Table] dt ON dt.ContactID = ci.ContactID)
WHERE
(mt.[Membership Date] > DateSerial(2017,31,7) AND mt.[Membership Date] < DateSerial(2018,1,8)) AND
(mt.[Donation Date] > DateSerial(2017,31,7) AND mt.[Donation Date] < DateSerial(2018,1,8))
The query returns a query table, which you can dispaly, or to use as data source for form or report. You can't have anything at bottom of query itself.