【问题标题】:Can't figure out this syntax error VBA SQL无法弄清楚这个语法错误 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 ...

标签: sql vba


【解决方案1】:
UPDATE ShipmentData A
INNER JOIN Customers B ON A.Owner = B.Name
SET A.[Sales Rep] = B.[Sales Rep], 
    A.OfficeNbr = B.OfficeNbr

【讨论】:

  • 非常感谢!像魅力一样工作。我的语法不好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多