Concerning VB(A):
There are some specific guidelines which you need to follow:
1. Validate all user numeric input using the IsNumeric funtion (or some similar method available to your programming language)
2. If it is valid numeric data, then assign the input value to a number variable.
3. Hard coded numeric values are coded always in US format:
dMyNumber = 1.234@
4. When saving values (held in number variables) to the DB, such as in an Action query, use the Str() function.
Since we know that the number variable will always return a valid number (even if it is 0), then we can use the Str() function, which will convert a number to US format:
?Str("1,23"

returns 1.23 if the system uses a comma as a decimal seperator
SqlStringForActionQuery = "UPDATE....SET SomeNumberField = " & Str(myNumberVar)
5. NEVER use the Val() function on numbers UNLESS you are only interested returning in the Integer portion, because:
?Val("5,23ABC"
will return 5
*******************************
The same holds true for dates:
1. Validate all user date input using the IsDate() funtion (or some similar method available to your programming language)
2. If it is valid Date data, then assign the input value to a Date variable.
3. Hard coded numeric values are coded always in US format:
dtMyDate = #09/20/2003#
(or the recommended ISO standard: #2003/09/20#)
4. When saving values (held in date variables) to the DB, such as in an Action query, use the Format() function.
Since we know that the Date variable will always return a Date (even if it is 12/30/1899 00:00:00), then we can use the Format() function, to convert a date to US format:
(force seperators using \)
strSQLDate = Format$(dtMyDate, "MM\/dd\/yyyy"
or use the ISO format:
strSQLDate = Format$(dtMyDate, "yyyy-MM-dd"
You can also add the date markers if the DB may change:
For JET:
strSQLDate = Format$(dtMyDate, "\#yyyy-MM-dd\#"
Or SQL Server:
strSQLDate = Format$(dtMyDate, "\'yyyy-MM-dd\'"
SqlStringForActionQuery = "UPDATE....SET SomeDateField = " & strSQLDate
Use the ADODB Command and Parameter object when ever possible.
It will help alot with these problems, also with problems such as strings containing single or double quotes.