У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент


дати виписки рахунку з таблиці «Рахунок». В ComboBox введемо такі елементи для вибору: Рахунок.[Сума оплати], Товар.[Назва товару], Рахунок.[Дата проплати], які користувач може вибрати для вибору сортування результатів. Введемо наступний текст для обробки події OnClick для SpeedButton4 (вибір дати) і SpeedButton6 (вивід результатів запиту):

procedure TForm1.SpeedButton4Click(Sender: TObject);

begin

Edit9.Text:=DateToStr(GetDate);

end;

procedure TForm1.SpeedButton6Click(Sender: TObject);

var sqlStr: String; sDate: string; fRep:TReplaceFlags;

begin

if Edit9.Text='' then

begin

ShowMessage('Потрібно вибрати дату');

exit;

end;

sDate:=StringReplace(Edit9.Text,'.','/',fRep);

sDate:=StringReplace(sDate,'.','/',fRep);

DataModule1.Query1.SQL.Clear;

sqlStr:='Select Товар.[Назва товару],Товар.[Опис товару],[Партія товару].[Код рахунку],Рахунок.[Дата проплати],Рахунок.[Дата виписки],Рахунок.[Сума оплати] from Товар inner join ([Партія товару] inner join '+

'Рахунок on Рахунок.[Код рахунку]=[Партія товару].[Код рахунку]) on '+

'Товар.[Код товару]=[Партія товару].[Код товару] where Рахунок.[Дата виписки]=#'+sDate+'#';

if ComboBox3.Items[ComboBox3.ItemIndex]<>'' then sqlStr:=sqlStr+' Order By '+ComboBox3.Items[ComboBox3.ItemIndex];

sqlStr:=sqlStr+';';

DataModule1.Query1.SQL.Add(sqlStr);

DataModule1.Query1.Active:=True;

end;

Текст нашого запиту при введеній даті і сортуванні по назві товару буде мати вигляд:

Перейдемо до створення останньої закладки програми – “Звітність”, в якій проілюструємо роботу з QuickReports. Виберемо в меню опцію File ??New, в вікні вибору натиснемо на піктограмці “Report”. Збережемо новий модуль, і заберемо його з опцій проекту, як форму що створюється автоматично. На нашу закладку звітність помістимо GroupBox, Сaption якого присвоїмо “Прайс лист товарів”. Помістимо на GroupBox кнопку «Перегляд і друк», події OnClick якої присвоїмо наступне:

procedure TForm1.SpeedButton7Click(Sender: TObject);

begin

Application.CreateForm(TQuickRPrice, QuickRPrice);

QuickRPrice.Preview;

QuickRPrice.Destroy;

end;

Наш QuickReport1 переіменуємо в QuickRPrice, його властивості DataSet надамо значення DataModule1.Table1. Відкривши в властивостях групу “Bands” надамо значення True властивостям HasTitle (назва звіту), HasColumnHeader (загаловки колонок), HasDetail (самі дані, значення полів таблиці). З закладки QReports на Title помістимо QRLabel, з Caption = «Прайс-лист товарів», на ColumnHeader п'ять компонент QRLabel з назвами полів нашої таблиці, а на частину Detail п'ять QRDBText, властивостям яких DataSet надамо значення DataModule1.Table1, а DataField відповідно поля нашої таблиці:

На цьому закінчимо розробку першого звіту. Помістимо на закладку звітність ще один GroupBox, який назвемо відомості про продаж товарів, і організуємо як складний звіт з деталізацією інформації з різних таблиць. Для кнопки «Перегляд і друк» звіту введемо такий текст програми:

procedure TForm1.SpeedButton9Click(Sender: TObject);

begin

DataModule1.Table1.MasterSource:=DataModule1.DataSource2;

DataModule1.Table1.MasterFields:='Код товару';

Application.CreateForm(TQuickRSum, QuickRSum);

QuickRSum.Preview;

QuickRSum.Destroy;

DataModule1.Table1.MasterSource:=nil;

DataModule1.Table1.MasterFields:='';

end;

Створимо новий Report, назвемо його QuickRSum, властивість DataSet присвоїмо DataModule1.Table1, з групи Bands присвоїмо значення True властивостям HasTitle, HasColumnHeader, HasDetail. Помістимо на Report QRBand i QRSubDetail. На розділ Title помістимо QRLabel “Відомості про продаж товарів”, на ColumnHeader QRLabel з назвами полів таблиці «Товар», на частину Detail QRDBText відповідно з властивостю DataSet DataModule1.Table1, a DataField з назвами відповідних полів таблиці. На частину GroupHeader помістимо назви полів таблиці “Рахунок”, відповідно на частину SubDetail QRDBText з DataSet = DataModule1.Table3, i DataFiled яких надамо назви полів таблиці “Рахунок”:

Викликавши контекстне меню правою кнопкою миші можна подивитись попередій перегляд звіту, але, наприклад, в нашому випадку, звіт буде відображатись неправильно в режимі розробки програми, тому що зв'язок між таблицями «Товар» і «Партія товару» ми встановлюємо під час роботи програми. Скомпілювавши і запустивши програму ми зможемо переглянути звіт в нормальному вигляді натиснувши кнопку «Перегляд і друк».


Сторінки: 1 2 3