That's because, if you do an INNER JOIN, you will only get the accounts that have BOTH Charges and payments.
You'll have to do a LEFT JOIN to get both.
Code:
SELECT
T1.Account#,
T1.Lastname,
T1.Firstname,
SumOfCharges,
SumOfPayments
FROM
([Account Info] As T1,
LEFT JOIN
(SELECT Sum(Charges.Amount) As SumOfCharges
FROM Charges
GROUP BY Charges.Account#)
ON T1.Account# = Charges.Account#
)
LEFT JOIN
(SELECT Sum(Payments.Amount) As SumOfPayments
FROM Payments
GROUP BY Payments.Account#)
ON T1.Account# = Payments.Account#
By the way, Date is a reserved word. You should avoid naming fields Date, Time, Month, Year, Day, Name, and so on. It will also save you lots of issues in the long run if you avoid using spaces or dashes ("-") in field names and table names. Most Access programmers follow those guidelines. Personally, I also avoid #'s, but that's a personal preference, not a generally agreed rule.