📄 personalanalyse.pas
字号:
unit personalanalyse;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Qrctrls, Series, QuickRpt, Db, ADODB, TeEngine, TeeProcs, Chart, DBChart,
QrTee, ExtCtrls;
type
Tformanalyse = class(TForm)
QuickRep1: TQuickRep;
QRDBChart1: TQRDBChart;
QRChart1: TQRChart;
QRShape1: TQRShape;
Series1: TPieSeries;
ADOsexname: TADODataSet;
TitleBand1: TQRBand;
ADOgrade: TADODataSet;
QRShape2: TQRShape;
QRDBChart2: TQRDBChart;
QRChart2: TQRChart;
Series2: TBarSeries;
ADOyears: TADODataSet;
QRShape3: TQRShape;
QRDBChart3: TQRDBChart;
QRChart3: TQRChart;
Series3: TBarSeries;
QRLabel1: TQRLabel;
ADODataSet1: TADODataSet;
QRShape4: TQRShape;
QRDBChart4: TQRDBChart;
QRChart4: TQRChart;
Series4: TBarSeries;
QRShape5: TQRShape;
ADODataSet2: TADODataSet;
QRDBChart5: TQRDBChart;
QRChart5: TQRChart;
Series5: TBarSeries;
QRLabel2: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRSysData1: TQRSysData;
QRLabel7: TQRLabel;
QRSysData2: TQRSysData;
QRShape6: TQRShape;
QRDBChart6: TQRDBChart;
QRChart6: TQRChart;
ADOQuery1: TADOQuery;
Series6: TPieSeries;
procedure QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
procedure QuickRep1AfterPrint(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure QuickRep1AfterPreview(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
formanalyse: Tformanalyse;
implementation
uses main,personalreport,datamol;
{$R *.DFM}
procedure Tformanalyse.QuickRep1BeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
var fmat1:string;
begin
if fmat='/' then
fmat1:=' / / ';
if fmat='-' then
fmat1:=' - - ';
if (formpersonalreport.MaskEdit1.text=fmat1) or (formpersonalreport.MaskEdit2.text=fmat1) then
begin
Application.MessageBox('日期输入不完整!','Error',mb_ok+mb_iconerror);
exit;
end;
adosexname.close;
adograde.close;
adoyears.close;
adodataset1.close;
adodataset2.close;
adosexname.CommandText:='select sexname,count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by sexname';
adograde.CommandText:='select degreename,count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by degreename';
adoyears.CommandText:='select ''半年以下'' as name1,count(workno) as num1 from per24010 where years<0.6 and years>0 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''半年至一年'' as name1,count(workno) from per24010 where years>=0.6 and years<=1.2 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''一年以上至二年'' as name1,count(workno) from per24010 where years>1.2 and years<=2.4 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''二年以上至五年'' as name1,count(workno) from per24010 where years>2.4 and years<=6.0 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''五年以上到十年'' as name1,count(workno) from per24010 where years>6.0 and years<=12.0 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''十年以上'' as name1,count(workno) from per24010 where years>12.0';
adodataset1.CommandText:='select substring(provname,1,2),count(workno) from per24010 where indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') group by substring(provname,1,2)';
adodataset2.CommandText:='select ''20岁以下'' as name1,count(*) as num1 from per24010 where age<=20 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''20-25岁'' as name1,count(*) from per24010 where age>20 and age<=25 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''26-30岁'' as name1,count(*) from per24010 where age>=26 and age<=30 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''30-40岁'' as name1,count(*) from per24010 where age>30 and age<=40 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') union '+
'select ''40岁以上'' as name1,count(*) from per24010 where age>40 and indate between convert(datetime,'''+formpersonalreport.maskedit1.Text+''') and convert(datetime,'''+formpersonalreport.maskedit2.Text+''') ';
adosexname.Open;
adograde.Open;
adoyears.Open;
adodataset1.Open;
adodataset2.Open;
adoquery1.Open;
QRLabel2.caption:=companyname1;
qrlabel5.caption:=pubworkname;
end;
procedure Tformanalyse.QuickRep1AfterPrint(Sender: TObject);
begin
adosexname.close;
adograde.close;
adoyears.close;
adodataset1.close;
adodataset2.close;
adoquery1.Close;
end;
procedure Tformanalyse.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
// formanalyse:=nil;
// action:=cafree;
close;
end;
procedure Tformanalyse.QuickRep1AfterPreview(Sender: TObject);
begin
// close;
end;
procedure Tformanalyse.FormCreate(Sender: TObject);
begin
self.Hide;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -