Обновление ячеек в киге Excel через ADODB
Edit_Cell(1, n) 'Row
Edit_Cell(2, n) 'Column
Edit_Cell(3, n) 'Value
В этом коде чере ADODB записываю в ячейки листа "List_Knigi" некой базы "Тест База.xls" значения из массива Edit_Cell
При выполнении этого кода выскакивает ошибка "Переполнение числового поля"
Не могу понять в чем дело
Public Sub Obnova(List_Knigi As String)
Dim cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim S_Qls As String
Dim k As Integer
Dim i As Long
Dim r As Long
On Error GoTo 1
FileName = ActiveWorkbook.Path & Тест База.xls"
S_Qls = "SELECT * FROM [" & List_Knigi & "];"
'Раздел инициализации базы данных Excel
Set cnn = New ADODB.Connection
Set rs = New ADODB.Recordset
With cnn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source=" & FileName & ";Extended Properties=Excel 8.0;"
.CursorLocation = adUseClient
.Open
End With
rs.Open S_Qls, cnn, adOpenKeyset, adLockOptimistic
Do While Not (rs.EOF)
i = i + 1
For r = 1 To UBound(Edit_Cell, 2)
If Edit_Cell(1, r) = i Then ' Перебираем измененные строки
k = Edit_Cell(2, r) - 1 ' Номер измененной колонки
rs(k) = Edit_Cell(3, r)
End If
Next r
rs.Update
rs.MoveNext
Loop
rs.Close
cnn.Close
Set cnn = Nothing
Set rs = Nothing
Exit Sub
1:
Resume Next
End Sub
Поставь точки останова, например. В процессе выполнения посмотри значения, подводя курсор к переменным. ИМХО, может, формат ячеек не тот?