База данных ошибок подключения к Excel-Access или объект только для чтения - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть файл Excel, который экспортирует некоторые данные для доступа. Когда файл Excel находится в какой-то папке, все в порядке. При совместном использовании Excel в веб-хранилище при экспорте возникает следующая ошибка:

Ошибка времени выполнения '-2147217911 (80040e09)': не удается обновить. База данных или объект только для чтения.

Код:

Sub insert_data(tablename As String, wkb As Workbook, rng As Range)

Dim cnn As Object
Dim workbookname As String
Dim sqlstring As String
Dim rngtoinsert As String
Dim dbPath As String
Dim columnnames As String
Dim columncounter As Integer

Dim thiswb As Workbook
Set thiswb = ThisWorkbook



Set cnn = CreateObject("ADODB.Connection")
dbPath = "xxx"
workbookname = Application.ActiveWorkbook.Name
rngtoinsert = "[" & rng.Parent.Name & "$" & rng.Address(0, 0) & "]"

ExcelTable = "[Excel 12.0;HDR=YES;DATABASE=" & workbookname & "]." & rngtoinsert

    ' extract column/field names
    For columncounter = 1 To rng.Columns.Count
        columnnames = columnnames & "['" & rng.Cells(1, columncounter).Value & "']" & ", "
    Next
    columnnames = Left(columnnames, Len(columnnames) - 2)

    ' create connection
    cnn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath
    cnn.Open cnn

     'add data to access table
    sqlstring = "INSERT INTO " & tablename & "(" & columnnames & ") "
    sqlstring = sqlstring & "SELECT * FROM " & ExcelTable

     'execute command and close connection
    cnn.Execute sqlstring
    cnn.Close


End Sub

Можете ли вы помочь PLS?

...