Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

QReports   Найти похожие ветки 

 
_xroot   (2005-11-07 11:37) [0]

Необходимо вывести на принт отчет в виде таблицы то есть:
1 колонка - Имена
2 колонка - Фамиилии
3 колонка - Прибыль
...
N колонка - ....

Но проблема в том, 4то изначально неизвестно какие будут колонки и их кол-во
Как с помощью QReport это релизовать


 
gvv   (2005-11-07 11:59) [1]

http://www.sources.ru/delphi/delphi_printing_content_dbgrid.shtml


 
mr.il ©   (2005-11-07 13:07) [2]

Создаешь  в excele шаблон.
Потом в коде пишешь типа:

var
 XL_2 : Variant;
 _Rov : Integer;
 _SW, _SS : Currency;
begin with DM_Zakaz do begin
 IBQ_ZakazData.DisableControls;
 IBQ_ZakazData.AutoCalcFields := False;

 XL_2 := CreateOleObject("Excel.Application");
 XL_2.Workbooks.Add(_Environment.Path_Rep+"ZakazBlank.XLT");

 XL_2.Range["A1"].Value := "Бланк-заказ № "+IntToStr(IBQ_Zakaz["ZAKAZ_ID"]);
 XL_2.Range["A4"].Value := "Дата составления: "+DateToStr(IBQ_Zakaz["Date_Doc"]);
 XL_2.Range["A5"].Value := "Поставщик: "+_NotNullStr(IBQ_ZakazZakazName.Value);
 IBQ_ZakazData.First; _Rov := 8; _SW := 0; _SS := 0;
 while not IBQ_ZakazData.Eof do begin
     XL_2.Range["B"+IntToStr(_Rov)].Value := _NotNullStr(IBQ_ZakazData["PROD_NAME"]);
     XL_2.Range["C"+IntToStr(_Rov)].Value := CurrToStr(IBQ_ZakazData["Quant_Z"]);
     XL_2.Range["D"+IntToStr(_Rov)].Value := _Quant2Bags(_NotNullCurr(IBQ_ZakazData["Quant_Z"]), _NotNullCurr(IBQ_ZakazData["CPB"]));
     XL_2.Range["E"+IntToStr(_Rov)].Value := _NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["W"]);
     _SW := _SW+(_NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["W"]));
     XL_2.Range["F"+IntToStr(_Rov)].Value := _NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["Cost_Z"]);
     _SS := _SS+(_NotNullCurr(IBQ_ZakazData["Quant_Z"])*_NotNullCurr(IBQ_ZakazData["Cost_Z"]));
     Inc(_Rov);
   end;
   IBQ_ZakazData.Next;
 end;
 XL_2.Range["E"+IntToStr(_Rov)].Value := _SW;
 XL_2.Range["F"+IntToStr(_Rov)].Value := _SS;
 XL_2.Run("myAutoFill"); // это запуск макроса в шаблоне
 XL_2.Visible:=True;

 IBQ_ZakazData.AutoCalcFields := True;
 IBQ_ZakazData.EnableControls;
end; end;

и ни какого QReporta.

в D7  и выше в юсес надо вставить ComObj


 
mr.il ©   (2005-11-07 13:09) [3]

В плане колонок, там лего определять динамически, в какую писать.


 
Anatoly Podgoretsky ©   (2005-11-07 13:45) [4]

На моем сайте есть документация.



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.038 c
14-1133276305
Nic
2005-11-29 17:58
2005.12.25
Нахождение в академии - хорошо или нет?


14-1133363929
oldman
2005-11-30 18:18
2005.12.25
Вот такой интересный вопрос правайдерам...


6-1127139449
Hamsterman
2005-09-19 18:17
2005.12.25
Возможно ли в Delphi программным путём посылать HTML forms?


14-1133789496
X9
2005-12-05 16:31
2005.12.25
Подскажите хороший Интеренет-магазин радиокомпонентов


2-1134319884
apxi
2005-12-11 19:51
2005.12.25
Как связать 2 таблицы в Access с помощью запроса?