我对撇号的查询和使用是否正确?

Is my query and use of apostrophes right?

尝试在接收变量以更新记录的地方正确执行此查询。我尝试使用引号,但要么出现 "Enter a parameter value" 对话屏幕,要么出现 "Syntax error (Missing Operator)" 错误。

updateOriginalBudget_SQL = "UPDATE SubPhases SET OriginalBudget=" & matchBudget & " " & "WHERE ShopCode=" & elemShopCode & ";"
DoCmd.RunSQL updateOriginalBudget_SQL

matchBudget 是一个整数,elemShopCode 是一个字符串。如果我只写一个简单的查询,如:

"UPDATE SubPhases SET OriginalBudget=5 WHERE ShopCode='344S-23';"

它将毫无问题地工作。 知道我在这里做错了什么吗?

在原始查询中,您缺少字段值的引号 ''。在您的 ShopCode 中,您有一个带有 - 的值,它是一个运算符,这就是您收到 "Syntax error (Missing Operator)" 错误的原因。

像这样更改查询,它将起作用:

updateOriginalBudget_SQL = "UPDATE SubPhases SET OriginalBudget=" & matchBudget & " WHERE ShopCode='" & elemShopCode & "';"

希望对您有所帮助。