Страницы: 1
RSS
Ошибка "Automation error" при экспорте из Excel в Access
 
Добрый день

Имею код для передачи данных с листа Excel в Базу Access.
Данный код не выполнчется так как выбивает ошибку Run_time error '-2147217900 (80040e14)' : Automation error
Подскажите пожалуйста что в коде не так?
Код
Dim cn As ADODB.Connection
 Dim dbcn As ADODB.Connection
    Dim strSQL As String
   
   '------------------------------------------------------------------------------------------------------------
    Set cn = New ADODB.Connection
    cn.Open "Provider = Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Desktop\Report.xlsm; Extended Properties=""Excel 12.0;HDR=No"";"
   '------------------------------------------------------------------------------------------------------------
    Set dbcn = New ADODB.Connection
    ConPath = "C:\Users\Desktop\ReportTemp.accdb"
    dbcn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & ConPath & "; Jet OLEDB:Database Password=11;"
   '------------------------------------------------------------------------------------------------------------
 
    strSQL = "INSERT INTO [ReportTemp] SELECT * FROM [PO update$B4:U1000] IN 'C:\Users\Desktop\Report.xlsm' [Excel 12.0; hdr=No;]"
    
    dbcn.Execute strSQL  ', adExecuteNoRecords
        
    cn.Close
    dbcn.Close
    
    Set cn = Nothing
    Set dbcn = Nothing
Заранее благодарен
 
Доброе время суток.
У меня так вообще отказалось выполнять вставку в Access 2016 без явного указания имён полей таблиц. Так прошло.
Код
Public Sub test()
    Dim cn As ADODB.Connection
    Dim sSQL As String
    Set cn = Application.CurrentProject.Connection
    sSQL = "Insert Into [tempdb] ([fid], [fname]) Select [f1], [f2] From [sheet1$A2:B5] In 'c:\path\db.xlsm' 'Excel 12.0;HDR=NO;'"
    cn.Execute sSQL
End Sub

Успехов.
 
Спасибо большое за ответ

Действительно заработало но только без указания диапазона:
Код
sSQL = "Insert Into [tempdb] ([fid], [fname]) Select [f1], [f2] From [sheet1$] In 'c:\path\db.xlsm' 'Excel 12.0;HDR=NO;'"
С указанием диапазона та же ошибка появляется.
 
Цитата
Chinock написал:
С указанием диапазона та же ошибка появляется
Чтобы решить проблему, нужно знать структуру данных исходного листа и таблицы, куда вставляются данные.
Страницы: 1
Наверх