📄 chaxun2.pas
字号:
unit chaxun2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB,shellapi, DBTables, StdCtrls, Buttons;
type
Tzcx = class(TForm)
DBGrid1: TDBGrid;
DataSource1: TDataSource;
zgb: TTable;
gzb: TTable;
bmb: TTable;
GroupBox2: TGroupBox;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
zc: TTable;
GroupBox4: TGroupBox;
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
zgbBDEDesigner: TStringField;
zgbBDEDesigner2: TStringField;
zgbBDEDesigner3: TStringField;
zgbBDEDesigner4: TStringField;
zgbBDEDesigner5: TStringField;
bmbBDEDesigner: TStringField;
bmbBDEDesigner2: TStringField;
zcBDEDesigner: TStringField;
Query1: TQuery;
chang: TTable;
gzbBDEDesigner: TStringField;
gzbBDEDesigner2: TStringField;
gzbBDEDesigner3: TStringField;
gzbBDEDesigner4: TStringField;
gzbBDEDesigner5: TStringField;
changSj: TStringField;
changKg: TStringField;
changCd: TStringField;
Query1BDEDesigner: TStringField;
Query1BDEDesigner2: TStringField;
Query1BDEDesigner3: TStringField;
Query1BDEDesigner4: TStringField;
Query1BDEDesigner5: TStringField;
Query1BDEDesigner6: TStringField;
Query1BDEDesigner7: TStringField;
Query1BDEDesigner8: TStringField;
Query1BDEDesigner9: TStringField;
Query1BDEDesigner10: TStringField;
tem: TTable;
temBian_hao: TStringField;
temXing_ming: TStringField;
temXing_bie: TStringField;
temCi_dao: TIntegerField;
temShi_jia: TIntegerField;
temKuang_gong: TIntegerField;
temJiang_jin: TIntegerField;
temJi_ben: TIntegerField;
temBu_men: TStringField;
temZhi_cheng: TStringField;
Query2: TQuery;
Query2Bian_hao: TStringField;
Query2Xing_ming: TStringField;
Query2Xing_bie: TStringField;
Query2Ci_dao: TIntegerField;
Query2Shi_jia: TIntegerField;
Query2Kuang_gong: TIntegerField;
Query2Jiang_jin: TIntegerField;
Query2Ji_ben: TIntegerField;
Query2Bu_men: TStringField;
Query2Zhi_cheng: TStringField;
Query2zong: TIntegerField;
temDate: TStringField;
zgbDate: TDateField;
Query2Date: TStringField;
Query1Date: TDateField;
DataSource2: TDataSource;
bitbtn4: TSpeedButton;
bitbtn5: TSpeedButton;
bitbtn2: TSpeedButton;
bitbtn1: TSpeedButton;
bitbtn3: TSpeedButton;
label1: TSpeedButton;
zcJg: TStringField;
Query1Jg: TStringField;
Speed1: TSpeedButton;
procedure FormPaint(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Label1Click(Sender: TObject);
procedure Label1MouseLeave(Sender: TObject);
procedure Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure Button1Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Query2CalcFields(DataSet: TDataSet);
procedure BitBtn5Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormActivate(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Speed1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
zcx: Tzcx;
sq:string;
implementation
uses chaxun1, quan, dy1;
{$R *.dfm}
procedure Tzcx.FormPaint(Sender: TObject);
var a,b:real;
i:integer;
begin
a:=clientheight/256;
b:=0;
for i:=255 downto 0 do
begin
canvas.Brush.Color:=$000000000+i*$10000;
canvas.FillRect(rect(0,round(b),clientwidth,round(a+b)));
b:=b+a;
end;
end;
procedure Tzcx.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure Tzcx.BitBtn1Click(Sender: TObject);
var where,who:string;
begin
query2.Active:=false;
query2.SQL.Clear;
sq:='select * from tem ';
if radiobutton1.Checked then
begin
who:=inputbox('查找!请输入要查找的姓名','','');
where:='where tem."xing_ming" like '+'"'+trim(who)+'%'+'"';
if radiobutton5.checked then
where:=where+' order by tem."xing_ming"'
else
if radiobutton6.checked then
where:=where+' order by tem."bian_hao"'
else
if radiobutton7.checked then
where:=where+' order by tem."zhi_cheng"'
else
if radiobutton8.checked then
where:=where+' order by tem."bu_men"'
end;
if radiobutton2.Checked then
begin
who:=inputbox('查找!请输入要查找的编号','','');
where:='where tem."bian_hao"like '+'"'+trim(who)+'%'+'"';
if radiobutton5.checked then
where:=where+' order by tem."xing_ming"'
else
if radiobutton6.checked then
where:=where+' order by tem."bian_hao"'
else
if radiobutton7.checked then
where:=where+' order by tem."zhi_cheng"'
else
if radiobutton8.checked then
where:=where+' order by tem."bu_men"'
end;
if radiobutton3.Checked then
begin
who:=inputbox('查找!请输入要查找的职称','','');
where:='where tem."zhi_cheng" like '+'"'+trim(who)+'%'+'"';
if radiobutton5.checked then
where:=where+' order by tem."xing_ming"'
else
if radiobutton6.checked then
where:=where+' order by tem."bian_hao"'
else
if radiobutton7.checked then
where:=where+' order by tem."zhi_cheng"'
else
if radiobutton8.checked then
where:=where+' order by tem."bu_men"'
end;
if radiobutton4.Checked then
begin
who:=inputbox('查找!请输入要查找的部门名称','','');
where:='where tem."bu_men"like '+'"'+trim(who)+'%'+'"';
if radiobutton5.checked then
where:=where+' order by tem."xing_ming"'
else
if radiobutton6.checked then
where:=where+' order by tem."bian_hao"'
else
if radiobutton7.checked then
where:=where+' order by tem."zhi_cheng"'
else
if radiobutton8.checked then
where:=where+' order by tem."bu_men"'
end;
sq:=sq+where;
query2.SQL.Add(sq);
query2.Prepared:=true;
query2.open;
end;
procedure Tzcx.BitBtn4Click(Sender: TObject);
var where:string;
begin
zgb.Refresh;
zc.Refresh;
gzb.Refresh;
chang.Refresh;
bmb.Refresh;
tem.Refresh;
query2.Active:=false;
query2.SQL.Clear;
sq:='select * from tem';
if RadioButton5.Checked then
where:=' order by tem."xing_ming"'
else
if RadioButton8.Checked then
where:=' order by tem."bu_men"'
else
if RadioButton7.Checked then
where:=' order by tem."zhi_cheng"'
else
if RadioButton6.Checked then
where:=' order by tem."bian_hao"';
sq:=sq+where;
query1.SQL.Clear;
query2.SQL.Add(sq);
query2.Open;
end;
procedure Tzcx.BitBtn2Click(Sender: TObject);
begin
shellexecute(application.Handle,'open',pchar(s+'\help\cha_xun.htm'),'','',SW_SHOW);
end;
procedure Tzcx.Label1Click(Sender: TObject);
begin
bitbtn4.Click;
zdy.Show;
end;
procedure Tzcx.Label1MouseLeave(Sender: TObject);
begin
label1.Font.Color:=clwhite;
end;
procedure Tzcx.Label1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
label1.Font.Color:=clyellow;
end;
procedure Tzcx.Button1Click(Sender: TObject);
begin
query1.Open;
end;
procedure Tzcx.FormShow(Sender: TObject);
var i,j:integer;
begin
zgb.Active:=false;
zgb.DatabaseName:=s;
zgb.TableName:='zgb.db';
zgb.Active:=true;
gzb.Active:=false;
gzb.DatabaseName:=s;
gzb.TableName:='gzb.db';
gzb.Active:=true;
chang.Active:=false;
chang.DatabaseName:=s;
chang.TableName:='chang.db';
chang.Active:=true;
zc.Active:=false;
zc.DatabaseName:=s;
zc.TableName:='zc.db';
zc.Active:=true;
bmb.Active:=false;
bmb.DatabaseName:=s;
bmb.TableName:='bmb.db';
bmb.Active:=true;
tem.Active:=false;
tem.DatabaseName:=s;
tem.TableName:='tem.db';
tem.Active:=true;
if tem.RecordCount>=1 then
begin
for j:=0 to tem.RecordCount-1 do
begin
tem.Edit;
tem.Delete;
tem.Next;
end;
end;
query1.Active:=false;
query1.DatabaseName:=s;
query2.Active:=false;
query2.DatabaseName:=s;
RadioButton5.Checked:=true;
RadioButton1.Checked:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from zgb,gzb,bmb,zc where zgb."职工编号"=gzb."职工编号" and zgb."职称"=zc."职称" and zgb."部门号"=bmb."部门号"');
query1.open;
for i:=0 to query1.RecordCount-1 do
begin
tem.Insert;
tem.FieldByName('bian_hao').AsString:=qu.cf(query1.fieldbyname('职工编号').AsString);
tem.FieldByName('xing_ming').AsString:=qu.cf(query1.fieldbyname('姓名').AsString);
tem.FieldByName('xing_bie').AsString:=qu.cf(query1.fieldbyname('性别').AsString);
tem.FieldByName('ci_dao').AsString:=qu.cf(query1.fieldbyname('迟到').AsString);
tem.FieldByName('shi_jia').AsString:=qu.cf(query1.fieldbyname('事假').AsString);
tem.FieldByName('kuang_gong').AsString:=qu.cf(query1.fieldbyname('旷工').AsString);
tem.FieldByName('jiang_jin').AsString:=qu.cf(query1.fieldbyname('奖金').AsString);
tem.FieldByName('ji_ben').AsString:=qu.cf(query1.fieldbyname('jg').AsString);
tem.FieldByName('bu_men').AsString:=qu.cf(query1.fieldbyname('部门名称').AsString);
tem.FieldByName('zhi_cheng').AsString:=qu.cf(query1.fieldbyname('职称').AsString);
tem.FieldByName('date').AsString:=query1.fieldbyname('date').AsString;
query1.Next;
tem.Next;
end;
tem.Open;
bitbtn4.Click;
end;
procedure Tzcx.Query2CalcFields(DataSet: TDataSet);
begin
chang.Edit;
if changcd.Value='' then
changcd.Value:='<'
else
if changkg.Value='' then
changkg.Value:='<'
else
if changsj.Value='' then
changsj.Value:='<'
else
begin
if query2jiang_jin.Value-query2ci_dao.Value*strtoint(qu.cf(changcd.Value))-query2kuang_gong.Value*strtoint(qu.cf(changkg.Value))-query2shi_jia.Value*strtoint(qu.cf(changsj.Value))<0 then
query2zong.Value:=query2ji_ben.Value
else
query2zong.Value:=query2ji_ben.Value+query2jiang_jin.Value-query2ci_dao.Value*strtoint(qu.cf(changcd.Value))-query2kuang_gong.Value*strtoint(qu.cf(changkg.Value))-query2shi_jia.Value*strtoint(qu.cf(changsj.Value));
end;
end;
procedure Tzcx.BitBtn5Click(Sender: TObject);
begin
dy.show;
end;
procedure Tzcx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tzcx.FormActivate(Sender: TObject);
begin
zgb.Active:=false;
zgb.DatabaseName:=s;
zgb.TableName:='zgb.db';
zgb.Active:=true;
gzb.Active:=false;
gzb.DatabaseName:=s;
gzb.TableName:='gzb.db';
gzb.Active:=true;
chang.Active:=false;
chang.DatabaseName:=s;
chang.TableName:='chang.db';
chang.Active:=true;
zc.Active:=false;
zc.DatabaseName:=s;
zc.TableName:='zc.db';
zc.Active:=true;
bmb.Active:=false;
bmb.DatabaseName:=s;
bmb.TableName:='bmb.db';
bmb.Active:=true;
tem.Active:=false;
tem.DatabaseName:=s;
tem.TableName:='tem.db';
tem.Active:=true;
end;
procedure Tzcx.FormCreate(Sender: TObject);
begin
zgb.Active:=false;
zgb.DatabaseName:=s;
zgb.TableName:='zgb.db';
zgb.Active:=true;
gzb.Active:=false;
gzb.DatabaseName:=s;
gzb.TableName:='gzb.db';
gzb.Active:=true;
chang.Active:=false;
chang.DatabaseName:=s;
chang.TableName:='chang.db';
chang.Active:=true;
zc.Active:=false;
zc.DatabaseName:=s;
zc.TableName:='zc.db';
zc.Active:=true;
bmb.Active:=false;
bmb.DatabaseName:=s;
bmb.TableName:='bmb.db';
bmb.Active:=true;
tem.Active:=false;
tem.DatabaseName:=s;
tem.TableName:='tem.db';
tem.Active:=true;
end;
procedure Tzcx.Speed1Click(Sender: TObject);
var i,j:integer;
begin
zgb.Active:=false;
zgb.DatabaseName:=s;
zgb.TableName:='zgb.db';
zgb.Active:=true;
gzb.Active:=false;
gzb.DatabaseName:=s;
gzb.TableName:='gzb.db';
gzb.Active:=true;
chang.Active:=false;
chang.DatabaseName:=s;
chang.TableName:='chang.db';
chang.Active:=true;
zc.Active:=false;
zc.DatabaseName:=s;
zc.TableName:='zc.db';
zc.Active:=true;
bmb.Active:=false;
bmb.DatabaseName:=s;
bmb.TableName:='bmb.db';
bmb.Active:=true;
tem.Active:=false;
tem.DatabaseName:=s;
tem.TableName:='tem.db';
tem.Active:=true;
if tem.RecordCount>=1 then
begin
for j:=0 to tem.RecordCount-1 do
begin
tem.Edit;
tem.Delete;
tem.Next;
end;
end;
query1.Active:=false;
query1.DatabaseName:=s;
query2.Active:=false;
query2.DatabaseName:=s;
RadioButton5.Checked:=true;
RadioButton1.Checked:=true;
query1.SQL.Clear;
query1.SQL.Add('select * from zgb,gzb,bmb,zc where zgb."职工编号"=gzb."职工编号" and zgb."职称"=zc."职称" and zgb."部门号"=bmb."部门号"');
query1.open;
for i:=0 to query1.RecordCount-1 do
begin
tem.Insert;
tem.FieldByName('bian_hao').AsString:=qu.cf(query1.fieldbyname('职工编号').AsString);
tem.FieldByName('xing_ming').AsString:=qu.cf(query1.fieldbyname('姓名').AsString);
tem.FieldByName('xing_bie').AsString:=qu.cf(query1.fieldbyname('性别').AsString);
tem.FieldByName('ci_dao').AsString:=qu.cf(query1.fieldbyname('迟到').AsString);
tem.FieldByName('shi_jia').AsString:=qu.cf(query1.fieldbyname('事假').AsString);
tem.FieldByName('kuang_gong').AsString:=qu.cf(query1.fieldbyname('旷工').AsString);
tem.FieldByName('jiang_jin').AsString:=qu.cf(query1.fieldbyname('奖金').AsString);
tem.FieldByName('ji_ben').AsString:=qu.cf(query1.fieldbyname('jg').AsString);
tem.FieldByName('bu_men').AsString:=qu.cf(query1.fieldbyname('部门名称').AsString);
tem.FieldByName('zhi_cheng').AsString:=qu.cf(query1.fieldbyname('职称').AsString);
tem.FieldByName('date').AsString:=query1.fieldbyname('date').AsString;
query1.Next;
tem.Next;
end;
tem.Open;
bitbtn4.Click;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -