Создание базы данных магазина спортивных товаров. Описание интерфейсной части программы. Листинг программы, страница 6

write(f,'  по '+chr($27)+combobox2.Text+chr($27)+'<br><br><br>');

//рисуем шапку таблицы

{if  NoGrid.Checked then //без прорисовки сетки

s:='<table border="0"> <tr><td width="5%"> №</td>'

else    // и с таковой  }

s:='<table border="3"> <tr><td width="25%">Название</td>';

s:=s+'<td width="15%">Производитель</td>';

s:=s+'<td width="15%">Поставщик</td>';

s:=s+'<td width="10%">Стоим ед.</td>';

s:=s+'<td width="15%">Ед. на складе</td>';

s:=s+'<td width="10%">Прод. кол</td>';

s:=s+'<td width="10%"> Сумма</td>';

write (f,s);

while not datamodule1.sqlquery2.Eof do  // пока не закончилось содержимое запроса

begin

With DataModule1 do

begin

c:=vartostr(sqlquery2.FieldByName('shifr').Value);

sqlquery3.Close;

sqlquery3.SQL.Clear;

sqlquery3.SQL.Add('Select  tovar.nazvan,tovar.proizv,tovar.cena,sklad.postavchik,sklad.kol from tovar,sklad');

sqlquery3.SQL.Add(' where tovar.shifr='+c+' and sklad.shifr='+c+';');

sqlquery3.Open;

end;

s:='<tr><td>'+datamodule1.SQLQuery3.FieldByName('NAZVAN').Value+'</td><td> '+ datamodule1.SQLQuery3.FieldByName('proizv').value;

s:=s+'</td><td> '+datamodule1.SQLQuery3.FieldByName('postavchik').Value;

s:=s+'<td>'+ vartostr(datamodule1.SQLQuery3.FieldByName('cena').Value)+'</td>';

s:=s+'<td>'+ vartostr(datamodule1.SQLQuery3.FieldByName('kol').Value)+'</td>';

s:=s+'</td><td>'+vartostr(datamodule1.SQLQuery2.FieldByName('koll').Value)+'</td>';

c:=vartostr((datamodule1.SQLQuery2.FieldByName('koll').Value)*(datamodule1.SQLQuery3.FieldByName('cena').Value));

s:=s+'<td>'+c+'</td>';

s:=s+'</tr>';

Write(f, s);

datamodule1.SQLQuery2.Next;

end;

write(f,'</table></body></html>');

closeFile(f);

ShellExecute(h,'open', pchar('iexplore.exe'), pchar( 'C:\temp\vedom2.html'),nil, SW_ShowNormal);

end

else

showmessage('Укажите временной промежуток!!!');

end;

end.


Отчеты.

1)

 
 


Элементы, необходимые для формирования этого отчета находятся на FORM2, текст программы на unit2.

По запросу пользователя, указавшего вид товаров, в данный отчет будет выведена информация из двух таблиц: из таблицы VSE_TOV будет выведен вид товара, а из таблицы TOVAR все поля, описывающие товары, относящиеся к выбранному виду.

2)

 
 


Элементы, необходимые для формирования этого отчета находятся на FORM3, текст программы на unit3.

Пользователь указывает временной промежуток, в течении которого он хотел бы узнать информацию о проданных товарах, их количество сумму, на которую они были проданы.

В отчет выбирается информация из 3-х таблиц: из таблицы TOVAR выбирается название товара, производитель, стоимость товара, из таблицы SKLAD – поставщик и количество единиц товара, хранящегося на складе, из таблицы PRODANO выбирается дата начала и конца продаж, и количество проданных товаров.

При формировании отчета осуществляется запрос с группировкой, который группирует одинаковые товары, проданные в разные дни, при этом осуществляется подсчет общего числа проданных одинаковых товаров,  и вычисляется на какую сумму они были проданы в течении этого временного интервала.