I have a production/stock/invoicing system written in Access 2007 using sqlserver 2005 as a back end.
I have stored quantities throughout the database as numeric(18,4) Within my MsAccess program I have used the Currency data type to manipulate quantity values because this datatype also has 4 decimal places. It has worked well for a few years. I remember from years ago that I encountered rounding errors when using the Single data type. So I was pleased to find that I get none of these with the Currency datatype.
We now have a requirement to store quantities to 6 decimal places. And not wanting to be caught out again in the future I have decided to change all the tables to store values as numeric(18,8). So I also have to change all my code so that to use variables with more decimal places. I think I probably have no choice but to use the Single data type. But I thought I would ask for opinions in here in case there is another option.