UPDATE语句中的语法错误:值从字符串到双精度

时间:2019-04-18 16:31:09

标签: access-vba

我正在使用以下VBA代码更新数据库中的Double字段。该字段的名称为SELECT a.A_NAME, COUNT(mr.MR_ROLE) FROM ACTOR a LEFT JOIN MOVIEROLE mr ON a.A_ID = mr.A_ID AND mr.MR_ROLE LIKE '%UNCREDITED%' GROUP BY a.A_NAME; ,该值的名称为week。在我的VBA中,它们都是valore变量。

String是不带小数的数字(例如“ 15”)时,我没有问题。

valore是带小数的数字(例如“ 2.5”或“ 2,5”)时,出现以下错误:

  

UPDATE语句中的语法错误

valore

1 个答案:

答案 0 :(得分:2)

本地化。

在立即窗口中尝试以下操作:

? CDbl(1.5)
 1,5 

? CDbl(1,5)
*compile error*

运行意大利语版本的Access,将CDbl结果转换为字符串时,其结果为小数逗号。但是Access SQL总是期望小数点(美国格式)为浮点数。

您应该使用参数而不是连接字符串:
How do I use parameters in VBA in the different contexts in Microsoft Access?

如果确实需要,在使用SQL连接变量时,请使用Gustav的CSql() function

... & CSql(CDbl(valore)) & ...