我知道已经提出了类似的问题。由于答案已经6年多了,我开始了一个新的线程。
我有一个Access数据库和该数据库的副本。计划是将数据写入副本,然后自动将新数据写入原始数据。所以基本上两个数据库是相同的。
我在这里找到并回答:如何将表从一个Access DB复制到另一个Access数据库。现在我想把它适应我的目标,但我失败了。
我已经附加了SQL字符串
strSQL = "INSERT INTO [maintblKeyFinancials].* " & _
"IN '" & destination_DB & "' " & _
"SELECT * FROM [maintblKeyFinancials] " & _
" WHERE [Company_ID] = " & identifier & _
" AND [Reference_year] = " & Chr$(34) & Year & Chr$(34) & ";"
是的,[Reference_eyear]是一个字符串。我还附上了输出
INSERT INTO [maintblKeyFinancials].* IN 'C:destination.accdb'
SELECT * FROM [maintblKeyFinancials] IN 'C:source.accdb'
WHERE [Company_ID] = 899 AND [Reference_year] = "2015";
当我执行字符串时,我会得到"查询中的语法错误。不完整的查询子句"。我不知道该纠正什么。希望你能帮助我。谢谢!
INSERT INTO [maintblKeyFinancials].*
删除末尾的.*
,这会产生语法错误。要么是
INSERT INTO [maintblKeyFinancials] (column1, column2)
SELECT column1, column2 FROM ...
或者如果列是完全相同的
INSERT INTO [maintblKeyFinancials]
SELECT * FROM ...
write[YourServer]。[yourSchema]。[YourTable]
从[YourServer]中选择*。[YourSchema]。[maintblKeyFinancials]