Deposit and withdrawl from the [Transaction Types] file are both Boolean and so is Reversal from the [Transactions] file
The query is below
SELECT Matters.MatterId, Matters.MatterTitle, [Payment methods].PaymentMethodDesc, Transactions.TransDate, Transactions.TransId, Transactions.TransCode, [Transaction Types].TransTypeDesc, First(Transactions.Particulars) AS FirstOfParticulars, Transactions.BankStatementDate, Transactions.MethodOfPayment, Transactions.ReceiptNo, Transactions.ReferenceNo, Transactions.Reversal, IIf([Transaction Types].[Deposit]=True And [Transactions].[Reversal]=False,[AmountTotal],0) AS Deposits, IIf([Transaction Types].[Withdrawl]=True And [Transactions].[Reversal]=False,([AmountTotal]*-1),0) AS Withdrawls, IIf([Transaction Types].[Withdrawl]=True,([AmountTotal]*-1),[AmountTotal]) AS TransAmount
FROM [Transaction Types] RIGHT JOIN ([Payment methods] RIGHT JOIN (Transactions RIGHT JOIN Matters ON Transactions.MatterId = Matters.MatterId) ON [Payment methods].PaymentMethodDesc = Transactions.MethodOfPayment) ON [Transaction Types].TransTypeId = Transactions.TransCode
WHERE ((([Transaction Types].TrustLedger)=True))
GROUP BY Matters.MatterId, Matters.MatterTitle, [Payment methods].PaymentMethodDesc, Transactions.TransDate, Transactions.TransId, Transactions.TransCode, [Transaction Types].TransTypeDesc, Transactions.BankStatementDate, Transactions.MethodOfPayment, Transactions.ReceiptNo, Transactions.ReferenceNo, Transactions.Reversal, [Transaction Types].TrustLedger, [Transaction Types].Deposit, [Transaction Types].Withdrawl, Transactions.Particulars, Transactions.AmountTotal
ORDER BY Matters.MatterId;