I'm trying to export the System, Account Number and WorkOrder fields from a spreadsheet to a table in Access 2007 as long as the WorkOrder fields don't match.
So far I keep getting an error saying that '" is not a valid name'. Is that happening because tblTest has more fields than the Excel recordset? I'm at a loss.
Dim xlString As String
xlString = "[Excel 8.0;HDR=YES;DATABASE="
Set cn = CreateObject("ADODB.Connection")
dbPath = Application.ActiveWorkbook.Path & "\SA Daily October.accdb"
dbWB = Application.ActiveWorkbook.FullName
dbWs = Application.ActiveSheet.Name
scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
dsh = "[" & Application.ActiveSheet.Name & "$]"
destTable = "tblTest"
destTablePath = dbPath & "]." & "[" & destTable & "]"
xlSheet = xlString & dbWB & "]." & dsh
cn.Open scn
ssql = "INSERT INTO tblTest ([System], [Account Number], [WorkOrder])"
ssql = ssql & " SELECT " & xlSheet & ".[System], "
ssql = ssql & xlSheet & ".[Account Number], "
ssql = ssql & xlSheet & ".[WorkOrder] FROM " & xlSheet
ssql = ssql & " WHERE NOT EXISTS (SELECT [System], [Account Number], [WorkOrder] FROM [" & destTablePath & " WHERE [" & destTablePath & ".[WorkOrder] = "
ssql = ssql & xlSheet & ".[WorkOrder])"
cn.Execute ssql