Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Данные из Oracle вывод заголовков / 5 сообщений из 5, страница 1 из 1
09.01.2008, 12:10:20
    #35049571
Freeze729
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из Oracle вывод заголовков
Здравствуйте
Вопрос.
1)как вывести данные с заголовками в макросе? Ниже скрипт выводит только данные.
2) Как без указания всех Fields(0...10) выводить все столбцы, которые существуют, чтобы не перечислять их как ниже.
Спасибо.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
Sub dbtest()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim i

Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDAORA.1;Password=11;Persist Security Info=True;User ID=1;Data Source=""DBUser"""
cn.Open
Set rs = New ADODB.Recordset
rs.Open "select * from table", cn
i =  1 
Do While Not rs.EOF
    ThisWorkbook.Sheets( 1 ).Cells(i,  1 ) = rs.Fields( 0 )
    ThisWorkbook.Sheets( 1 ).Cells(i,  2 ) = rs.Fields( 1 )
    ThisWorkbook.Sheets( 1 ).Cells(i,  3 ) = rs.Fields( 2 )
    ThisWorkbook.Sheets( 1 ).Cells(i,  4 ) = rs.Fields( 3 )
    rs.MoveNext
    i = i +  1 
Loop
rs.Close
cn.Close

End Sub
...
Рейтинг: 0 / 0
09.01.2008, 12:51:45
    #35049726
LETME
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из Oracle вывод заголовков
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
Sub dbtest()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim i

Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDAORA.1;Password=11;Persist Security Info=True;User ID=1;Data Source=""DBUser"""
cn.Open
Set rs = New ADODB.Recordset
rs.Open "select * from table", cn
i =  2 
Do While Not rs.EOF
ThisWorkbook.Sheets( 1 ).Cells(i,  1 ) = rs.Fields( 0 )
ThisWorkbook.Sheets( 1 ).Cells(i,  2 ) = rs.Fields( 1 )
ThisWorkbook.Sheets( 1 ).Cells(i,  3 ) = rs.Fields( 2 )
ThisWorkbook.Sheets( 1 ).Cells(i,  4 ) = rs.Fields( 3 )
rs.MoveNext
i = i +  1 
Loop

For i =  0  to rs.Fields.Count -  1 
      ThisWorkbook.Sheets( 1 ).Cells( 1 , i+ 1 ) = rs.Fields(i).Name
Next i

rs.Close
cn.Close

End Sub
...
Рейтинг: 0 / 0
09.01.2008, 13:00:47
    #35049754
LETME
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из Oracle вывод заголовков
Ой... простите - второго вопроса не заметил.
Наверное вот так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
Sub dbtest()
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Dim i, z

Set cn = New ADODB.Connection
cn.ConnectionString = "Provider=MSDAORA.1;Password=11;Persist Security Info=True;User ID=1;Data Source=""DBUser"""
cn.Open
Set rs = New ADODB.Recordset
rs.Open "select * from table", cn

z =  1 
For i =  0  to rs.Fields.Count -  1 
      ThisWorkbook.Sheets( 1 ).Cells( 1 , i+ 1 ) = rs.Fields(i).Name

       Do Until rs.EOF
            ThisWorkbook.Sheets( 1 ).Cells(z, i+ 1 ) = rs.Fields(i)
            z=z+ 1 
            rs.MoveNext
       Loop
Next i


rs.Close
cn.Close

End Sub
...
Рейтинг: 0 / 0
09.01.2008, 13:06:47
    #35049775
Freeze729
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из Oracle вывод заголовков
Крутатень, спасибо))
...
Рейтинг: 0 / 0
09.01.2008, 13:38:10
    #35049904
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Данные из Oracle вывод заголовков
У объекта Range есть еще метод CopyFromRecordset .
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Данные из Oracle вывод заголовков / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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