运行时错误' 3075'当使用sql UPDATE SET FROM WHERE时

时间:2015-03-29 06:16:16

标签: sql access-vba

我可能做了一个简单的语法错误。但我在网上找不到类似的东西,所以我在这里问你们。

如果两个不同的表中的两列之间存在匹配,我正在尝试将字段更新为“true”,例如

Table1: CAT SELECTED    Table2: CAT
         1   FALSE               2
         2   FALSE               3

然后“2”的“已选择”字段将更改为TRUE:

Table1: CAT SELECTED    Table2: CAT
         1   FALSE               2
         2   TRUE                3

我正在使用以下sql代码:

DoCmd.RunSQL "UPDATE Table1 SET Table1.SELECTED=-1 " & _
              "FROM Table2, Table1 " & _
               "WHERE Table1.CAT=Table2.CAT"

我得错误'3075'说:

Syntax error (missing operator) in query expression '-1 FROM Table2'. 

当我删除FROM语句时,问题就会消失,但我只是手动编写来自table2的值。

希望你能提供帮助, 提前谢谢。

1 个答案:

答案 0 :(得分:0)

我想我通过这样做解决了这个问题:

DoCmd.RunSQL "UPDATE Table1, Table2 SET Table1.SELECTED=-1 " & _
             "WHERE Table1.CAT=Table2.CAT"

虽然我实际上并没有更新Table2,但在“UPDATE”之后添加它解决了问题。 如果你有更好的想法,我想知道。