If you multiply 2 numbers that have 2 decimal places each, you can get 4
places in the result, e.g.:
? .01 * .01
0.0001
Try using an expression like this as the calculated field in your query:
ExtendedPrice: CCur(Round(Nz([volume] * [price per unit],0),2))
That expression:
- handles the nulls (because CCur() barfs on Null);
- rounds the result to 2 places;
- typecasts that result to Currency.
--
Allen Browne - Microsoft MVP. Perth, Western Australia.
Tips for Access users -
http://allenbrowne.com/tips.html
Reply to group, rather than allenbrowne at mvps dot org.
"astro" <astro-puppy@mn.rr.com> wrote in message
news:_nqvd.137151$T02.123316@twister.rdc-kc.rr.com...[color=blue]
>
> I have a report/invoice that lists volume, price per unit, and extended
> price.
>
> My problem is being able to get the extended price by multiplying the
> [volume] x [price per unit]. With just 2 decimal places on both volume
> and
> [unit price] I've discovered there is not way to get the exact [extened
> price] on invoices with extended price values greater then 50k due to
> rounding errors. This customer wants only 2 decimal places on the
> invoice.
>
> Is there an industry standard for this? The [extended price] must match
> the
> companies internal accounting system so it can't be fiddled with.
>
> What do other companies do in this scenario?[/color]