Скриншот формы Form43 Delphi программного модуля zp43
⇐ ПредыдущаяСтр 3 из 3 Описание компонентов на форме 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 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|