Question: My SQL is

```
"INSERT INTO table1 (Item, Price) VALUE ('" & ItemString & "', " & PriceValue & ")"

```

It works fine. But, if price is `12,345.67.` SQL error message is

Number of Query Values and Destination Fields are not the same.

It is because the value thousand comma delimiter. How should I modify my `SQL` to let the number value has comma delimiter (and possible $ sign)?

Thanks in advance.

Answer: 
This is where you always must use Str to convert your decimal number to a US-formatted string expression ignoring your local settings:

```
"INSERT INTO table1 (Item, Price) VALUE ('" & ItemString & "', " & Str(PriceValue) & ")"

```

The magic about Str is that is *always* inserts a dot as the decimal separator, nothing more, nothing less. This makes it bullet-proof and the simplest possible solution. 

Most other methods will fail in international environments where the decimal separator is not a dot.
It is not possible to append commas to the numeric or integer values in sql query.
Rather insert the values that supports the data type of the column and can be converted to the format required in UI.
For retrieval,you can use some thing like :

select testCol,replace(convert(varchar,cast(Price as money),1), '.00','') from testTbl.

Result :

testCol (No column name)
asd 12,346
asd 12,346