Why didn't I think of Left Joins! I tried Inner Joins, failed and changed to subqueries.
To get rid of zero balances:
SELECT TblCustInfo.CID, TblCustInfo.Name, nz([SumOfChargeamt],0) AS Charges, nz([SumOfCreditamt],0) AS Payments, nz([SumOfChargeamt],0)-nz([SumOfCreditamt],0) AS RunBalance...