обработка EXСEL под VB и занесение результата в БД

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
НиколайП
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 06.12.2005 (Вт) 22:16

обработка EXСEL под VB и занесение результата в БД

Сообщение НиколайП » 09.02.2006 (Чт) 2:46

под VB обрабатываю файл Exсel, после обработки необходимо данные занести в БД, если не трудно подскажите как это сделать ...
вопросы в коде - это то что я не знаю как делать.

Set D = OpenDatabase(App.Path & "\DB\my.mdb")
S = "SELECT A,B,C,D,E,F,G FROM tabA"
Set R = D.OpenRecordset(S)
R.AddNew


Dim XL As New Excel.Application
XL.Workbooks.Open App.Path & "\ааааа.xls"
XL.Visible = False
Set XL = XL.ActiveWorkbook.Sheets.Application
ХL.Columns("А:G").Select

Dim i As Long
For i=1 To ??? ' как мне здесь указать количество заполненных строк из ХL.Columns("А:G").Select

R!A = ??? ' данные из столбика А и строки i
R!B = ??? ' данные из столбика B и строки i
R!C =??? ' данные из столбика C и строки i
R!D = ??? ' данные из столбика D и строки i
R!F = ??? ' данные из столбика E и строки i
R!E = ??? ' данные из столбика F и строки i
R!G = ??? ' данные из столбика G и строки i
Next i

R.Update

XL.ActiveWorkbook.Close


заранее благодарен за помощь.

Twister
Теоретик
Теоретик
Аватара пользователя
 
Сообщения: 2251
Зарегистрирован: 28.06.2005 (Вт) 12:32
Откуда: Алматы

Сообщение Twister » 09.02.2006 (Чт) 8:46

как мне здесь указать количество заполненных строк

Никак. Нужно спускаться в низ по строчкам и смотреть, не встретилась ли пустая ячейка(если пустая ячейка означает конец всех записей) и считать.
данные из столбика А и строки i

Код: Выделить всё
R!A=Range("A" & i)
А я все практикую лечение травами...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 09.02.2006 (Чт) 9:51

Do
If LastRow() Then Exit Do
'либо так:
recordset.AddNew
recordset!A = ...
...
recordset.Update
'либо так
recordset.AddNew Array("A","B",...), Array(Cells(I,1), Cells(I,2), ...)
Loop
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 84

    TopList