我使用以下VBA代码更新我的数据库中的Double字段。该字段的名称是week
,要放置的值的名称是valore
。在我的VBA中,他们都是String
变量。
当valore
是一个没有小数的数字(例如“15”)时,我没有问题。
当valore
是带小数的数字(例如“2.5”或“2,5”)时,我收到以下错误:
UPDATE语句中的语法错误
CurrentDb.Execute "UPDATE [Pianificazione risorse] " _
& "SET " & week & " = " & CDbl(valore) & " " _
& "WHERE [Codice Progetto] = '" & xCodice_Progetto & "' AND Risorsa = '" & xRisorsa & "';"
本土化。
在即时窗口中尝试这个:
? 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)) & ...