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.
I use below and it works. 

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

```