Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Скриншот формы Form43 Delphi программного модуля zp43




Описание компонентов на форме

Panel1 – компонент необходим для особенности интерфейса;

Panel2– компонент необходим для особенности интерфейса;

DataSource_g – компонент необходим для связи компонента DBLookupComboBox1 с таблицей god;

DataSource_m – компонент необходим для связи компонента DBLookupComboBox2 с таблицей mes;

Button1 (Ок)– компонент необходим для выполнения запроса и вывода на экран через DBGrid1 результатов запроса;

Button2 (Печать)– компонент необходим для создания отчет через OLE –автоматизацию Excel

Button3 (Закрыть)– компонент необходим для закрытия формы;

DBGrid1 – компонент необходим для просмотра результата запроса;

DataSource43 – компонент необходим для связи компонента Query43 и DBGrid1;

Query43– компонент необходим для выборки, где отображаются поля: Ф.И.О., начислено, налог, к выдаче;

Query43_1 – компонент необходим для подсчета общей суммы, которую необходимо выдать сотрудникам;

DBLookupComboBox1 – компонент необходим для выбора года; DBLookupComboBox2 – компонент необходим для выбора месяца;

Label1 (Кол-во записей равно:) – компонент отображает общее количество записей, которое содержится в компоненте DBGrid1

Label2 (Год)– компонент необходим обозначения назначения компонента DBLookupComboBox1

Label3 – компонент необходим обозначения назначения компонента DBLookupComboBox2

Label4 (К выдаче)– компонент отображает общую сумму к выдаче, которую необходимо выдать сотрудникам в текущем месяце;

2. Коды событий на форме:

Клик по кнопке «ОК»

procedure TForm43ras.Button1Click(Sender: TObject);

begin

f:=true;

with Query43 do begin

close;

sql.Clear;

sql.Add('select woker.fam,woker.name,woker.otch,vidacha.nach,vidacha.pnalog,vidacha.kvidache');

sql.Add('from woker, mes,god,vidacha');

sql.add('where (woker.ntab=vidacha.ntab) and (vidacha.nmes=:mes) and (vidacha.nmes=mes.nmes) and (god.ngod=:god) and (mes.ngod=god.ngod) order by woker.fam ');

Parameters.ParamByName('god').Value:=DBLookupComboBox1.KeyValue;

Parameters.ParamByName('mes').Value:=DBLookupComboBox2.KeyValue;

end;

Query43.Open;

with Query43 do begin

FieldByName('fam').DisplayLabel:='Фамилия';

FieldByName('name').DisplayLabel:='Имя';

FieldByName('otch').DisplayLabel:='Отчество';

FieldByName('nach').DisplayLabel:='Начислено';

FieldByName('pnalog').DisplayLabel:='Налог';

FieldByName('kvidache').DisplayLabel:='К выдаче';

end;

with Query43_1 do begin

close;

sql.Clear;

sql.Add('select sum(vidacha.kvidache) as summa');

sql.Add('from vidacha,mes,god');

sql.Add('where (vidacha.nmes=:mes) and (vidacha.nmes=mes.nmes) and (god.ngod=:god) and (mes.ngod=god.ngod)');

Parameters.ParamByName('god').Value:=DBLookupComboBox1.KeyValue;

Parameters.ParamByName('mes').Value:=DBLookupComboBox2.KeyValue;

end;

Query43_1.Open;

Label1.Caption:='Кол-во записей равно: '+inttostr(Query43.RecordCount);

Label4.Caption:='Итого к выдаче: '+Query43_1.FieldByName('summa').AsString;

end;

Клик по кнопке «Печать»

procedure TForm43ras.Button2Click(Sender: TObject);

var

excel:variant;

j,i:integer;

n:integer;

begin

if f=true then begin

// О Т О Б Р А Ж Е Н И Е В "" E X C E L ""

excel:=createoleobject('Excel.application');

excel.Visible:=true;

excel.workbooks.add();

excel.columns[1].columnwidth:=20;

excel.columns[2].columnwidth:=20;

excel.columns[3].columnwidth:=20;

excel.columns[4].columnwidth:=20;

excel.columns[5].columnwidth:=20;

excel.columns[6].columnwidth:=20;

excel.columns[7].columnwidth:=20;

excel.columns[8].columnwidth:=20;

excel.cells[1,1].font.size:=14;

excel.range['A1:c1'].font.bold:=true;

excel.cells[1,1]:='Расчетная ведомость за '+DataSource_m.DataSet.FieldByName('namemes').asstring+''+DataSource_g.DataSet.FieldByName('god').AsString+' год';

excel.cells[2,1].font.size:=14;

excel.cells[2,2].font.size:=14;

excel.cells[2,3].font.size:=14;

excel.cells[2,4].font.size:=14;

excel.cells[2,5].font.size:=14;

excel.cells[2,6].font.size:=14;

excel.cells[2,1]:='№ п/п';

excel.cells[2,2]:='Фамилия';

excel.cells[2,3]:='Имя';

excel.cells[2,4]:='Отчество';

excel.cells[2,5]:='Сумма к выдаче';

excel.cells[2,6]:='Подпись';

i:=2;

n:=0;

while not Query43.eof do begin

i:=i+1;

n:=n+1;

excel.cells[i,1]:=n;

excel.cells[i,1].font.size:=12;

excel.cells[i,2]:=Query43.FieldByName('fam').AsString;

excel.cells[i,2].font.size:=12;

excel.cells[i,3]:=Query43.FieldByName('name').AsString;

excel.cells[i,3].font.size:=12;

excel.cells[i,4]:=Query43.FieldByName('otch').AsString;

excel.cells[i,4].font.size:=12;

excel.cells[i,5]:=Query43.FieldByName('kvidache').AsString;

excel.cells[i,5].font.size:=12;

excel.cells[i,5].NumberFormat:=0.00;

Query43.Next;

end;

i:=i+1;

excel.cells[i,1]:=' ';

excel.cells[i,2]:=' ';

excel.cells[i,3]:=' ';

excel.cells[i,4]:='Итого к выдаче: ';

excel.cells[i,4].font.size:=12;

excel.cells[i,4].font.bold:=true;

excel.cells[i,5]:=Query43_1.FieldByName('summa').asstring;

excel.cells[i,5].font.size:=12;

excel.cells[i,5].font.bold:=true;

excel.cells[i,5].NumberFormat:=0.00;

end

else MessageBox(Handle,PChar('Сначала нажмите кнопку "ОК"!'),pchar('СТОП'),MB_ICONERROR+MB_OK);

end;

Клик по кнопке «Закрыть»

procedure TForm43ras.Button3Click(Sender: TObject);

begin

Form43ras.Close;

end;

3. Форма в рабочем режиме:

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...