ник: ChevChell
Всем доброго времени суток!
Не могу справиться с одной проблемой на компе с виндой 2000.
Подключаюсь к файлу Excel и просматриваю его через объект рекордсет все идет нормально, но когда пытаюсь дбавить новые значения VBA выдает ошибку подключения " внешняя таблица не содержит предполагаемый формат данных"
Вод код:
Sub ОткрытьБД()
СтрокаПодключения = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=" & Sheets("Лист2").Range("a1") & "; Extended Properties=Excel 8.0;"
Set Таблица = New ADODB.Recordset
Таблица.ActiveConnection = СтрокаПодключения 'Дебагер выдает здесь ошибку
End Sub
Private Sub Записать_Click()
'запись нового счета в базу
'-------------------------------------------------------
Call ПроверкаФормы
Запись = 0 'Не использовать as Byte т.к. 0 Byte не бывает
Call ОткрытьБД
With Таблица 'Запись в таблицу реестра счетов
.CursorLocation = adUseClient
.Open "Select * from [реестр$]", СтрокаПодключения, adOpenForwardOnly, adLockOptimistic
For i = 1 To r - 1 'Цикл по строкам массива
If Nomenklatura(i, 0) = Empty Then Exit For 'Если первое поле пусто то выход
.AddNew 'Запись в реестр счетов
.Fields(0) = ПолеНомерСчета.Text
.Fields(1) = Format(CDate(ДатаСчета.Value), "dd.mm.yyyy")
.Fields(2) = ComboПоставщик.Text
.Fields(3) = ComboПокупатель.Text
.Fields(15) = ComboВалюта.Text
.Fields(24) = ComboВидУчета.Text
For Запись = 0 To 6 Step 1 'Цикл по полям массива
.Fields(Запись + 4) = Nomenklatura(i, Запись) 'Не использовать "Запись" as Byte т.к. 0 Byte не бывает
Next Запись
.Update
Next i
.Close
End With
Set Таблица = Nothing
Call ОткрытьБД
With Таблица 'Запись в таблицу платежей
.CursorLocation = adUseClient
.Open "Select * from [платежи$]", СтрокаПодключения, adOpenForwardOnly, adLockOptimistic
.AddNew 'Запись в реестр платежей
.Fields(0) = ПолеНомерСчета.Text
.Fields(1) = Format(CDate(ДатаСчета.Value), "dd.mm.yyyy")
.Fields(2) = Всего
.Fields(7) = ComboВалюта.Text
.Fields(9) = ComboВидУчета.Text
.Update
.Close
End With
ComboСчет.AddItem ПолеНомерСчета.Text 'Запись нового счета в комбо бокс
Set Таблица = Nothing
End Sub