Jet can be picky about decimal points. This can cause problems in countries where "," is the decimal "point". Since Type specification characters such as @ don't work in Access SQL, Jet will convert anything with a decimal point into a Double, possibly with a loss of precision or even a type conversion failure.
This means that we have to use CCur or CDec within the SQL when dealing with those types, but these functions always obey regional settings and won't always work with Str$. To get around it, use the Format function.
"where salary = ccur(""" & Format$(MyCurrencyValue) & """)"