Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2010, 13:15   #1
ЛисЁНЫШ
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 20
По умолчанию Выгрузить результат sql-запроса в Excel

Здравствуйте, очень нужна ваша помощь! проблема вот в чем.У меня есть таблица Excel состоит из 6 столбцов и около 100 строк и вот в каждую ячейку нужно внести данные, полученные с помощью sql-запроса. Но дело в том что получается слишком много запросов, начинает выдавать ошибку.
'Build
[Error] Unit10.pas(6971): Too many local constants. Use shorter procedures'

Незнаю что сделать, может нужно что другое придумать???
ЛисЁНЫШ вне форума Ответить с цитированием
Старый 30.07.2010, 13:18   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
нужно внести данные, полученные с помощью sql-запроса.
А точнее? Разве нельзя составить один запрос в мастере построения запросов Экзеля?
Делфи тут при чем?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 30.07.2010, 13:28   #3
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

ЛисЁНЫШ, твой sql-запрос откуда данные выгребает???
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 30.07.2010, 13:32   #4
ЛисЁНЫШ
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 20
По умолчанию

Вот кусок программы. Он очень большой поэтому написала только нчало. Принцип такой что выполняется один запрос и его результат записывается только в одну ячейку таблицы Excel.А ячеек очень много поэтому все запросы не помещаются в одной процедуре. Поэтому если кто знает, подскажите пожалуйста, что можно сделать в таком случае.

Код:
procedure TForm10.SpeedButton1Click(Sender: TObject);
var
  filtr: string;
  Ap: Variant;
begin
  Ap := CreateOleObject('Excel.Application');
  Ap.Workbooks.Add(GetCurrentDir+'\otchet.xls');

 {женский}
With form1.ADOQuery1 do
     begin
        Close;
     active:=false;
       SQL.Clear;
SQL.Add('Select * from UMERSHIE');
SQL.Add('WHERE POL LIKE'+#39+'%' + 'Ж' + '%'+#39);
Open;
        active:=true;
Ap.Range['G8']:=IntToStr(RecordCount);
end;

form1.ADOQuery1.Filtered:=false;
filtr:='';
filtr:= 'POL LIKE '+  #39 + 'Ж' + '%' + #39 +' and '+'MESTO_SM LIKE '+  #39 + 'В стационаре' + '%' + #39;
if length(filtr) > 0 then
begin
form1.ADOQuery1.Filter:= filtr;
form1.ADOQuery1.Filtered:=true;
Ap.Range['G9']:=IntToStr(form1.ADOQuery1.RecordCount);
end;
ЛисЁНЫШ вне форума Ответить с цитированием
Старый 30.07.2010, 13:42   #5
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

ЛисЁНЫШ, а что мешает сформировать, как результат sql-запроса, некий DataSet, который потом и можно перегнать в Excel таблицу?
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 30.07.2010, 14:06   #6
ЛисЁНЫШ
Пользователь
 
Регистрация: 25.03.2010
Сообщений: 20
По умолчанию

извините, а можно поподробнее.=)
ЛисЁНЫШ вне форума Ответить с цитированием
Старый 30.07.2010, 15:53   #7
soleil@mmc
SQL-коддинг
Участник клуба
 
Регистрация: 16.01.2009
Сообщений: 1,192
По умолчанию

типа такого
Код:
select 
  cast('всего Ж' as varchar(100)) f_comment,
  count(1) f_cnt
from UMERSHIE
where POL LIKE '%Ж%'
union all
select 
  cast('всего Ж В стационаре' as varchar(100)) f_comment,
  count(1) f_cnt
from UMERSHIE
where POL LIKE '%Ж%'
   and MESTO_SM LIKE 'В стационаре%' 
union all
...
и дальше открываете датасет и листая его заполняете ваши ячейки в экселе

З.Ы.: пол, конечно, имеет много вариантов... или вы тоже по рыбкам специалист?

Последний раз редактировалось soleil@mmc; 30.07.2010 в 15:55.
soleil@mmc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
результат запроса Ko$tello БД в Delphi 7 18.04.2012 12:13
Результат запроса sql в переменную(знаю, что похожие темы были) animalshadow C++ Builder 4 05.06.2010 17:19
Переменая := результат запроса(SQL); ??? $T@LKER БД в Delphi 3 25.04.2010 11:43
Как записать в переменную delphi результат sql запроса? mar4elo БД в Delphi 1 03.12.2009 16:59
Результат запроса sql в переменную dll32 БД в Delphi 9 26.05.2009 15:02