powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Данные из Oracle вывод заголовков
5 сообщений из 5, страница 1 из 1
Данные из Oracle вывод заголовков
    #35049571
Freeze729
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте
Вопрос.
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
Данные из Oracle вывод заголовков
    #35049726
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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
Данные из Oracle вывод заголовков
    #35049754
LETME
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой... простите - второго вопроса не заметил.
Наверное вот так:

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


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