无法弄清楚这个语法错误 VBA SQL

Posted

技术标签:

【中文标题】无法弄清楚这个语法错误 VBA SQL【英文标题】:Can't figure out this syntax error VBA SQL 【发布时间】:2013-07-29 17:27:23 【问题描述】:

我在使用 Access 时遇到问题。我正在尝试使用另一个表(客户)中的一些值来更新一个表(shipmentdata)。这是我现在的代码:

Option Compare Database

Sub Update()

Dim strSQL As String

strSQL = "UPDATE ShipmentData As A " & _
         "SET A.[Sales Rep] = B.[Sales Rep], A.OfficeNbr = B.OfficeNbr " & _
         "FROM A " & _
         "INNER JOIN Customers As B " & _
         "ON A.Owner = B.Name;"

DoCmd.RunSQL strSQL

End Sub

我不断收到错误消息:“运行时错误‘3075’:查询表达式‘B.OfficeNbr FROM A INNER JOIN Customers As B ON A.Owner = B.Name’中的语法错误(缺少运算符)。

我已经尝试过使用/不使用别名,在不同的地方使用/不使用括号,我一直收到这个错误。有人可以帮帮我吗?

【问题讨论】:

没有进行研究并在黑暗中拍摄:我认为您忘记在内部选择语句中包含“SELECT”。 UPDATE 的正确语法不包括任何FROMUPDATE aTable AS a INNER JOIN anotherTable AS b SET ... 【参考方案1】:
UPDATE ShipmentData A
INNER JOIN Customers B ON A.Owner = B.Name
SET A.[Sales Rep] = B.[Sales Rep], 
    A.OfficeNbr = B.OfficeNbr

【讨论】:

非常感谢!像魅力一样工作。我的语法不好。

以上是关于无法弄清楚这个语法错误 VBA SQL的主要内容,如果未能解决你的问题,请参考以下文章

错误 #1064 - 您的 SQL 语法有错误

YACC和LEX,在行尾获取语法错误,无法弄清楚原因

错误是 Sql 语法

SQL 错误 1064:您的 SQL 语法有错误

'的语法错误?

我找不到这个语法错误[关闭]