Ok I've run into another problem. From the query sample file you directed me to I was able to display the previous record using DLookup() and use that to create a running balance successfully, sort of. I use the function thus:
Previous: DLookUp("[a]","Visa","[#] = " & [#]-1)
The problem now...