Поставщик ADO: имя источника данных не найдено - PullRequest
0 голосов
/ 23 января 2019

Я знаю, что этот вопрос задавался ранее, но я не могу заставить работать рекомендации из предыдущих постов.

Ниже вы можете увидеть мой код, который, я думаю, работает более или менее правильно, но я всегда получаю сообщение об ошибке для имени источника данных.

Любая помощь по этому вопросу будет очень признательна!

Sub ADOFromExcelToAccess()
    Dim cn As ADODB.Connection, rs As ADODB.Recordset, i As Long

    Set cn = New ADODB.Connection
    cn.Open "Provider = MSDASQL;" &_
      "Data Source = C:\Users\ablohn\Documents\Database2.accdb"

    Set rs = New ADODB.Recordset
    rs.Open "NameofTable", cn, adOpenKeyset, adLockOptimistic,    adCmdTable

    For i = 1 To 10 
        x = 0

        Do While Len(Range("A" & i).Offset(0, x).Formula > 0
            With rs
                .AddNew
                .Fields("Name1") = Range ("A" & i).Value
                'repeated for as many times as needed
                .Update
            End With
            x = x + 1
        Loop
    Next i

    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub

1 Ответ

0 голосов
/ 23 января 2019

Почему бы просто не использовать select into или insert into

, например, где f1 - столбец 1 (A), а f3 - столбец 3 (C)

select f1,f3 INTO tbl1 FROM [EXCEL 12.0;HDR=YES;IMEX=2;DATABASE=C:\Workspace\test_data1.xlsx].[sheet1$]

или

insert into tbl1 SELECT f1,f3 FROM [EXCEL 12.0;HDR=YES;IMEX=2;DATABASE=C:\Workspace\test_data1.xlsx].[sheet1$]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...