powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Передача данных из Firebird в Excel
24 сообщений из 24, страница 1 из 1
Передача данных из Firebird в Excel
    #37521508
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, помогите пожалуйста. Мне нужно передавать данные из бд в лист екселя. в бд данные храняться по датам, а мне нужно выбирать из диапазона, причем диапазон может быть любым.
т.е. в екселе есть таблица, в которую в один столбец заносится дата, а в другой значения. как вытащить одно значение я знаю, а как сделать последовательность я не знаю, это, наверное, должен быть какой-то цикл. типа задаем две даты: начало и конец периода, считаем количество дней и вытаскиваем данные и последовательно заносим в лист.
одно значение я вытаскиваю так:

rs.Open "select ( turbine.electrical_load ) from turbine where ( (date_reg >= '" + mydate1 + "')and (kod_turbine = '7') )", cn
лист11.Range("Е_ПТ_пт1").Value = Round(rs.Fields(0).Value, 3)
rs.Close
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521616
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, elena0204!
You wrote on 11 ноября 2011 г. 11:45:33:

elena0204> Мне нужно передавать данные из бд в лист екселя.
вам сюда: http://www.sql.ru/forum/actualtopics.aspx?bid=46

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521619
Barkan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elena0204,

Вообще-то Вам надо не сюда.

Вы открываете рекордсет - а он по сути массив строк.
Если мне не изменяет мой склероз то у рекордсета есть методы типа Next, Eof
Цикл будет выглядеть как-то так:

Код: plaintext
1.
2.
3.
4.
while not rs.Eof
   лист11.Range("A" & CStr(i)).Value = Round(rs.Fields( 0 ).Value,  3 )
   i = i +  1 
   rs.Next
loop
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521745
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Barkan,

спасибо, я уже пыталась так сделать, может я что-то не так делаю или я всего не понимаю, но у меня вылазит ошибка: method or date member not found. в строчке
rs.Next
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521773
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elena0204но у меня вылазит ошибка: method or date member not found. в строчке
rs.Next

google советует юзать

Код: plaintext
1.
rs.MoveNext
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521774
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
Вы не могли бы подсказать куда именно.
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521792
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Граур Станислав,
в этом случае, другая ошибка: Loop without Do
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521795
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, elena0204!
You wrote on 11 ноября 2011 г. 12:43:04:

elena0204Вы не могли бы подсказать куда именно.
я дал ссылку в куда.

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521801
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elena0204Граур Станислав,
в этом случае, другая ошибка: Loop without Do

Код: plaintext
1.
2.
3.
4.
5.
6.
while not rs.Eof
   лист11.Range("A" & CStr(i)).Value = Round(rs.Fields( 0 ).Value,  3 )
   i = i +  1 
   rs.MoveNext
Wend


А так?
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521802
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elena0204Вы не могли бы подсказать куда именно.
В справку Ёкселя. Ни за что не поверю, что с последнего раза когда я им пользовался,
инструмент "Внешние данные" перестал действовать.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521807
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, простите, это я дура Do, забыла написать
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521911
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Граур Станислав,
спасибо Вам большое, оба варианта работают.
но вот с занесением данных в ячейки екселя у меня все равна проблема, не получается. ошибка в строке:
Лист11.Range("Э_пт_ПТ1" & CStr(i)).Value = Round(rs.Fields(0).Value, 3)
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521919
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ошибка: method 'Range' of object '_Worksheet' failed
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521949
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, elena0204!
You wrote on 11 ноября 2011 г. 13:25:55:

elena0204> ошибка: method 'Range' of object '_Worksheet' failed
лена, пройдите таки уже по
ссылке .

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521978
Граур Станислав
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
elena0204ошибка: method 'Range' of object '_Worksheet' failed

Кэп намекает, что цикл пытается присваивать значение в
Е_ПТ_пт10
Е_ПТ_пт11
Е_ПТ_пт12
и т.п.
а таких имен на лист11 нет.
Так что либо сделай их, либо вместо range используй cells

P.S.
Быть может стоит почитать учебник какой по Excel?
А зачем кстати тебе программирование? Может, ну его?
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37521981
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящий,
не ругайтесь на меня, пожалуйста, я прошла и что? что мне нужно сделать?
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37522015
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, elena0204!
You wrote on 11 ноября 2011 г. 13:40:51:

elena0204я прошла и что? что мне нужно сделать?
задать свой вопрос.
люди там душевные.
сразу помогут.

--
With best regards, Мимопроходящий.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37522016
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Граур Станислав,
Большое Вам спасибо. Я прекрасно понимаю, что я вас достала глупыми вопросами, но мне только нужно сделать эту часть кода, я же уже начала и все, и честное слово, больше не буду вас доставать.
А программировать я немного умею, только не в Visual Basic. С++ и ассемблер (МК AVR), вот с этим у меня проблем никогда не было.

Модератор: Тема перенесена из форума "InterBase, Firebird, Yaffil".
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37523373
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elena0204,

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
rem mydate1 - начало периода
rem mydate2 - конец периода
rem squery - строка запроса
' округление можно делать и на сервере
squery = _
"select round(electrical_load,3) "& _
"from turbine "& _
"where date_reg between '"& mydate1 &"' and '"& mydate2 &"' and kod_turbine='7'"
rs.Open squery, cn
' выгрузить данные из набора записей на Лист11, начиная с ячейки [A2]
Лист11.Range("A2").CopyFromRecordset rs
rs.Close 
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37523396
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,

простите мне мою тупость, но я не пойму что ест squery.
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37523400
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,
в строке rs.Open пишет, что драйвер ODBC не поддерживает требуемые свойства.
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37523586
скукотища
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
elena0204,
squery - строковая пременная, в которой сохранил текст запроса. Мне так удобнее. Можно и без неё

драйвер ODBC не поддерживает требуемые свойства.
видать что-то совсем древнее... Тогда остается только вариант, предложенный Станиславом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
 ' убрали округление из запроса. хотя м.б. драйвер ругался не на него, а на BETWEEN ...
squery = _
"select electrical_load "& _
"from turbine "& _
"where date_reg between '"& mydate1 &"' and '"& mydate2 &"' and kod_turbine='7'"
rs.Open squery, cn

if not rs.BOF then ' в наборе есть записи
  i =  2  ' с какой строки начинаем выгружать данные
  ii =  1  ' в какой столбец будем выгружать данные
  do until rs.eof ' пока не достигли конца набора
    Лист11.Cells(i, ii).Value2 = round(rs( 0 ).Value,  3 )
    i = i +  1 
    rs.movenext
  loop
end if

rs.Close
Что за драйвер? Его версия? Версия сервера Firebird ?
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37523844
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
скукотища,

все уже тоже перепробовали здесь:
сам код у нее жесть .. :o
http://www.cyberforum.ru/vba/thread381037-page2.html
...
Рейтинг: 0 / 0
Передача данных из Firebird в Excel
    #37525881
elena0204
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
скукотища,
прям не знаю как Вас отблагодарить, все работает, большое СПАСИБО!!!!
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Передача данных из Firebird в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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