Here are some references on "Banker's Rounding"
MS products' rounding explained:
http://support.microsoft.com/default.aspx?scid=kb;en-us;196652
==================================
Have you tried the Round function in Access?
Round([Net] * [TaxRate] / 100 + .0001 , 2)
The additional .0001 compensates for the round to even functionality
included in the Access Round function. The round to even
functionality
causes Access to round .135 to .14 and .145 to .14 instead of the .15
that
you might expect.
============================================================
Try
= Int((NumberToRound * 100) + 0.5) / 100
Adding the 0.5 will round up any results where the 3rd decimal place
is 5 or
larger. This is the way sales tax is usually rounded and calculated.
--
Wayne Morgan
MS Access MVP
===========================================================
Further comments:
The built-in Round() function does "banker's" or "scientific"
rounding. It
will take .5 and round it to the nearest even number. This reduces
the
rounding error in calculations. 1 number doesn't move (.0), 4 round
down
(.1 - .4), 4 round up (.6 - .9), and one goes up half the time and
down half
the time (.5). However, this isn't the way most folks round and isn't
the
way sales tax is usually calculated. Instead, these are usually
calculated
by rounding .5 up all of the time. Adding 0.0001 won't fix this
problem,
0.0149 should round down and adding 0.0001 to it will change it to
0.015
which then will round up or down depending on where the even number
is, in
this case it would round to 0.02. Using the other equation, you get
01.49 +
0.5 for 01.99. Taking the Int() you truncate the 1.99 to get 1 then
divide
by 100 to get 0.01. This has rounded down as it should have.
--
Wayne Morgan
MS Access MVP
=========================================
And someone had this comment but I forgot to list who it was.
Changing the data type to currency may introduce other more subtle
rounding issues. The CURRENCY type rounds values using a banker's
rounding algorithm, which may not be appropriate to fabric
quantities.
The DECIMAL type truncates and therefore may be the way to go if the
aim truly is to eliminate rounding.
========================================
Ron