Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Обновление ячеек в киге Excel через ADODB

23K
11 октября 2010 года
VovikN
10 / / 17.07.2007
Есть такой код, где в массиве сохранены данные об измененных ячейках на листе Excel
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
63K
14 октября 2010 года
simbnimb
2 / / 12.08.2010
Поставь точки останова, например. В процессе выполнения посмотри значения, подводя курсор к переменным. ИМХО, может, формат ячеек не тот?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог