2013-08-12 172 views
1

“在查询表达式语法错误(缺少操作员)”我有非常简单的查询不工作,我得到错误:SQL/EXCEL/VBA - UPDATE查询:

'Syntax Error (missing operator) in query expression Tabela2.SALES2 FROM Tabela2'

下面是代码:

UPDATE Tabela1 
SET Tabela1.SALES = Tabela2.SALES2 
FROM Tabela2 
WHERE Tabela1.ID = Tabela2.ID 

我想从Acces数据库(2007)上的VBA/Excel运行此查询。其他查询与例如SELECT工作正常,所以问题只与查询。我真的不知道为什么它不起作用。

+0

是在原始查询的最后'where行部分的双引号? –

+0

看到[this](http://stackoverflow.com/questions/707371/sql-update-set-one-column-to-be-equal-to-a-value-in-a-related-table-referenced- b) – 2013-08-12 08:20:56

+0

不,没有报价。这只是上面的代码中的错误。 – hakubaa

回答

0

UPDATE Tabela1 SET Tabela1.SALES = Tabela2.SALES2 FROM Tabela1,Tabela2 WHERE Tabela1.ID = Tabela2.ID

+0

谢谢,但它没有帮助。 – hakubaa

0

使用FROM有可能在尝试这种

UPDATE Tabela1 
SET Tabela1.SALES = Tabela2.SALES2 
FROM Tabela1 
INNER JOIN Tabela2 
WHERE Tabela1.ID = Tabela2.ID 
+0

不幸的是,还是一样的错误。 – hakubaa

4

更新查询SQL Server,但不在MS Access中。使用这个来代替:

UPDATE Tabela1 INNER JOIN Tabela2 ON Tabela1.ID = Tabela2.ID 
SET Tabela1.Sales = [Tabela2].[Sales2]; 
+0

谢谢,它工作正常:)但mayby你也知道方式查询与FROM不是?是否与Access? – hakubaa

+0

使用“from”的查询在access中是不可能的,但在sql中是可能的。 – Poonam

+0

@ user2674174如果您的问题已得到解答,请[标记您认为最好解决您的问题的答案](http://stackoverflow.com/help/someone-answers)。您也可以[upvote](http://stackoverflow.com/help/why-vote)接受的答案以及您认为有用的任何其他答案。 –

-1
Update TABLE2, TABLE1 
SET TABLE2.SALES2 = TABLE1.SALES 
WHERE TABLE2.ID=TABLE1.ID 

哎朋友试试这个100%的工作。按照poonam FROM语句是不可能的,它的真实性,但不需要内部连接并使查询变慢。
此SQL查询将仅在MS Access上运行。