All floatingpoint calculations are subject to rounding errors. Your second field is defined as of type singleprecision  the lowestaccuracy form of floatingpoint storage used in VBA. Even if you used doubleprecision floating point values  which I would use as a matter of routine and not use the Single type at all  you will still face rounding errors in calculations.
ADezii's suggestion of using formatting to round the number is a good one.
I would use a doubleprecision field and simply round it for display purposes, using either formatting to three decimal places as ADezii suggests or explicit rounding (assuming that no further calculations are necessary):
=Round([Field1]*[Field2), 3)
By the way, using names such as Field1 and Field2 is a waste of a field name. Give your fields meaningful names that tell the reader what your field is storing.
Stewart
