首页 > 解决方案 > Excel VBA - 查询表达式中的语法错误(缺少运算符)

问题描述

我在查询表达式 'ID_Unique = ID_Unique FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Users\luiveg\Desktop\Databasetest\DB Macro 中遇到语法错误(缺少运算符)测试.xlsm].[rawdata$]。

这是我正在使用的代码:

Sub Upload_Excel_to_AccessUPDATE()

Dim wbpath As String

wbpath = Application.ActiveWorkbook.Path


Dim con As Object  '' ADODB.Connection
Set con = CreateObject("ADODB.Connection")  '' New ADODB.Connection
con.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data source=\\an\HRS SD Performance Data\Capacity DB.accdb;"
con.Execute _
         "UPDATE AssigenedVol_tbl " & _
            "SET Volume = Volume " & _
            "WHERE ID_Unique = ID_Unique " & _
            "FROM [Excel 12.0 Xml;HDR=YES;IMEX=2;ACCDB=YES;DATABASE=C:\Users\leg\Desktop\DB Macro Test.xlsm].[rawdata$]"
con.Close
Set con = Nothing
End Sub

所以假设 ID_Unique 是 Table 中的主键。我们已经在表中记录了(Process_Identifier、Login、Volume、effDate、ID_Unique),如果 ID_Unique 已经存在我们想更新 Volume,如果 ID_Unique 不存在我们想添加 Process_Identifier、Login、Volume、effDate, ID_从 excel 到数据库的唯一数据。

excel数据示例:

Process_Identifier  Login   Volume  effDate     ID_Unique
O1FA73              rohen   0       5/31/2019   E2-anriz-I1FA05-05/30/2019
O1FA76              jiz     0       5/31/2019   cmposc-I1FA05-05/30/2019
I1FA05              jiz     10      5/31/2019   cmposc-O1FA73-05/30/2019
O1FA73              cmpsc   10      5/31/2019   jriz-I1FA05-05/30/2019
I1FA05              cmpsc   0       5/31/2019   jriz-O1FA76-05/30/2019
I1FA05              aniz    20      5/31/2019   rodrhen-O1FA73-05/30/2019
I1FA05              luieg   90      5/31/2019   luiveg-I1FA05-05/30/2019

问题是我通常对 VBA/宏/编码非常陌生,不知道如何执行此操作,所以我正在寻找任何人可以提供的正确方向的帮助、帮助或指针。

提前感谢您的任何见解!

标签: vba

解决方案


推荐阅读