VBA更新语句 - 查询表达式中缺少运算符

时间:2012-04-08 15:57:22

标签: sql ms-access vba syntax-error

首先,我知道这个问题已经在这个论坛上被提出,但是之前的每一个问题都与我的情况有所不同,解决方案也不起作用。我的逗号都在那里,我正在使用一个非常简单的查询。向右移动:

我在Access中使用链接表,链接到SQL Server数据库。除了这个查询,一切都有效。如果我直接在SQL Server中运行文本,它运行正常。因此,查询的语法必须正常。

这就是我正在运行的内容:

CurrentDb.Execute "Update dbo_TS_Activity Set [Remarks] = ''Updated Remarks''   Where [id] = 1124 AND [Emp_Name] = ''CONFUSED''  AND [Approved] = 0"

我收到运行时错误'3075' 查询表达式中的语法错误(缺少运算符)''更新备注''

我尝试了什么:

  • 单引号
  • 双引号
  • 双单(两个撇号)引用
  • 没有引号
  • 打开链接表并手动编辑(工作正常)
  • 哭泣(开玩笑)

2 个答案:

答案 0 :(得分:0)

这应该可以正常工作,AFAICT,你发布的内容以及上面的评论。

CurrentDb.Execute "Update dbo_TS_Activity Set [Remarks] = 'Updated Remarks'   Where [id] = 1124 AND [Emp_Name] = 'CONFUSED'  AND [Approved] = 0"

答案 1 :(得分:0)

2件事终于解决了......我在查询设计器中运行了更新,它给了我围绕WHERE语句的这个奇怪的括号语法,所以它看起来像:

Where (((dbo_vw_TS_Activity.[id]) = 1124))

最后,它想要变量的双引号,例如:

SET [Remarks] = ""The updated remarks...""

突然,它很开心。因此,我也是。