There is no concept in databases for Previous or Next without an order, and not possible reference a previous calculated value
So you need to provide an order - might be datetime (date on it's own won't work unless you only ever have one record per day), might be a PK (but risk of issues if entries not entered in the correct order).
but the principle would be to use a subquery - so your query might look like this if using datetime.
Code:
SELECT A.DateTime, A.TranType, A.TranValue, (SELECT sum(TranValue*iif(Trantype='SUPPLY',1, -1)) as BALANCE FROM tblTrans B WHERE B.DateTime<=A.DateTime) AS BALANCE
FROM tblTrans A
ORDER BY A.DateTime
The subquery is this part
(SELECT sum(TranValue*iif(Trantype='SUPPLY',1, -1)) as BALANCE FROM tblTrans B WHERE B.DateTime<=A.DateTime) AS BALANCE