Fixed format results in at least one number to the left and only 2 to the right of the decimal, IIRC. So you've forced Access to round if the value is really 544.285 to 544.289
FWIW, calculated table fields are not recommended. I venture to say that it would be rare for seasoned developer to use them in anything other than a db meant for testing/playing around.
http://allenbrowne.com/casu-14.html
The more we hear silence, the more we begin to think about our value in this universe.
Paraphrase of Professor Brian Cox.
I suggest using Decimal and specify scale and precision properties in the table.
Precision is the total number of digits allowed in a number, including left and right of the decimal.
Scale is the number of digits allowed to the right of the decimal.
So 1234567.89 has a precision of 9.
123456.789 has a precision of 9 and a scale of 3.
A precision of 4 and scale of 2 would result in a number with a maximum value of 99.99
Percent designations like 125.5% would require precision 4 and scale of 3 (not one) since it is actually stored as 1.255.
Precision has a maximum value of 28, but textboxes in forms allow only a max of about 15 decimal places.
Increasing the scale from 0 to perhaps 4 would give the forcing of 2 decimal places more rounding room to work with.
In the image in Post #1, setting the number of decimals, you are just setting the FORMAT displayed, NOT the actual value stored in the field.
Multiplication and division change the number of decimals in the result, so it matters when you do the rounding.
You have to actually change the calculated values stored in the fields. AND,.
Don't know how clear the following will be:
As you can see, if you use the Round function, the number add up to what you expect it to be.
And as Micron pointed out, using calculated fields is a bad idea. Calculations should be done in a query, in a text box control on a form/report or even in code - but NEVER in a table.