Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / импорт данных через ADO в Excel2003 / 3 сообщений из 3, страница 1 из 1
17.11.2006, 16:12:49
    #34137251
Кристи
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт данных через ADO в Excel2003
Добрый день! Вы не подскажете у меня не работает импорт данных через RECORDSET в Excel 2003 выдается ошибка 1004 Application-defined or object-defined error
код программы

Function Result(SqlStr As String, RetStr As String, HLCell As Range) As String
Dim R As Range
Dim DB As ADODB.Connection
Dim rstRecordset As ADODB.Recordset
Dim o As Excel.Worksheet


Set o = Excel.Worksheets("D")


Set DB = New ADODB.Connection
DB.Open Connect_String


Set R = HLCell
Set rstRecordset = New ADODB.Recordset

rstRecordset.Open SqlStr, DB, adOpenForwardOnly, adLockReadOnly

If Not rstRecordset.EOF Then
i = 1
rstRecordset.MoveFirst
Do While Not rstRecordset.EOF
For j = 1 To rstRecordset.Fields.Count
o.Cells(i, j).Value = rstRecordset.Fields(j - 1).Value ' в этом месте вылетает по ошибке
Next j
i = i + 1
rstRecordset.MoveNext
Loop
End If



Result = RetStr

Set rstRecordset = Nothing

End Function
...
Рейтинг: 0 / 0
17.11.2006, 17:04:14
    #34137471
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт данных через ADO в Excel2003
Код: plaintext
For j =  0  To rstRecordset.Fields.Count- 1 
...
Рейтинг: 0 / 0
20.11.2006, 10:31:46
    #34140087
HandKot
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
импорт данных через ADO в Excel2003
Кристи если нужно просто вывести рузельтат запроса на лист, то
используйте такую конструкцию

Код: plaintext
o.Range("A1").CopyFromRecordset rstRecordset
вместо
Кристи
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
If Not rstRecordset.EOF Then
i =  1 
rstRecordset.MoveFirst
Do While Not rstRecordset.EOF
For j =  1  To rstRecordset.Fields.Count
o.Cells(i, j).Value = rstRecordset.Fields(j -  1 ).Value ' в этом месте вылетает по ошибке
Next j
i = i +  1 
rstRecordset.MoveNext
Loop
End If


I Have Nine Lives You Have One Only
THINK!
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / импорт данных через ADO в Excel2003 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]