looks like your are trying to apply lowcode/nocode principles to access
you just need to put =nz(....
in the controlsource, not the event.
as this is a calculated value, it should not be stored.
But I would also say the 0.56 needs to be in a table somewhere since it could change in the future. Changing the formula down the line means all values would change, past and future.
alternatively, do your calculation in the form recordsource - Amount: nz(mileage,0)* 0.56
And if you do want to store the actual amount, you would use the mileage after update event
Code:
Private Sub mileage_afterUpdate()
me.amount=nz(me.mileage)*0.56
end sub
but the point about the 0.56 remains, if it changes, you need to modify your code. You need a table of mileage rates with an effective from date
tblMileageRates
PK...Rate...EffectiveFrom
1.....0.56...1/1/2020
2.....0.58...1/8/2021
etc
then use a dlookup or similar to find the rate applicable for a particular date
Would also advise don't have spaces in table and field names and don't use reserved words (Description in your example). Also give ID's relevant names - down the line Access will be asking which ID you mean - use something like ExpenseID or better ExpensePK (which also tells you it is the primary key, use ExpenseFK for the foreign name in another table)