Excel для доступа к VBA Loop - PullRequest
0 голосов
/ 13 июня 2019

Я пытаюсь написать код, который использует шаблон Excel для загрузки данных в базу данных доступа. Я немного новичок в VB, поэтому я вывел код в автономный режим и адаптировал его под свои нужды. Когда я пытаюсь запустить его, я получаю сообщение об ошибке «Ошибка компиляции: без цикла». Посоветуйте пожалуйста что я делаю не так.

Вся помощь очень ценится!

Sub UploadtoAccess()
'
' UploadtoAccess Macro
'
'Sub ADOFromExcelToAccess()'
' exports data from the active worksheet to a table in an Access database
' this procedure must be edited before use
Dim cn As ADODB.Connection, rs As ADODB.Recordset, r As Long
    ' connect to the Access database
    Set cn = New ADODB.Connection
    cn.Open "provider = microsoft.ace.oledb.12.0;" & _
        "Data Source=C:\Users\filepath (full file path taken out)
    ' open a recordset
    Set rs = New ADODB.Recordset
    rs.Open "Expenses", cn, adOpenKeyset, adLockOptimistic, adCmdTable
    ' all records in a table
    r = 2 ' the start row in the worksheet
    Do While Len(Range(“A” & r).Formula) > 0
    Do While Len(Range(“B” & r).Formula) > 0
    Do While Len(Range(“C” & r).Formula) > 0
    Do While Len(Range(“D” & r).Formula) > 0
    ' repeat until first empty cell in column A
        With rs
            .AddNew ' create a new record
            ' add values to each field in the record
            .Fields("Expense_Type_ID") = Range("A" & r).Value
            .Fields("Expense_Type") = Range(“B” & r).Value
            .Fields(“Expense_Month”) = Range(“C” & r).Value
            .Fields(“Expense_Amount”) = Range(“D” & r).Value
            ' add more fields if necessary…
            .Update ' stores the new record
        End With
        r = r + 1 ' next row
    Loop
    rs.Close
    Set rs = Nothing
    cn.Close
    Set cn = Nothing
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...