我正在使用以下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
答案 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)) & ...