📄 dygzxxb.pas
字号:
unit Dygzxxb;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ADODB, StdCtrls, Buttons, Mask;
type
TDygzxxb_Form = class(TForm)
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
DataSource1: TDataSource;
DBGrid1: TDBGrid;
ADOTable2: TADOTable;
Label15: TLabel;
Label16: TLabel;
Label23: TLabel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Edit1: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
ComboBox1: TComboBox;
GroupBox2: TGroupBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit2: TEdit;
Edit19: TEdit;
GroupBox3: TGroupBox;
Label17: TLabel;
Label18: TLabel;
Label19: TLabel;
Label20: TLabel;
Edit13: TEdit;
Edit14: TEdit;
Edit15: TEdit;
Edit16: TEdit;
GroupBox4: TGroupBox;
Label21: TLabel;
Label22: TLabel;
Edit17: TEdit;
Edit18: TEdit;
Edit11: TEdit;
Edit12: TEdit;
BitBtn2: TBitBtn;
Edit20: TEdit;
ADOQuery1: TADOQuery;
ADOTable3: TADOTable;
procedure FormActivate(Sender: TObject);
procedure ComboBox1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure ADOTable1AfterScroll(DataSet: TDataSet);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure loadfromtable();
procedure initdbgrid();
end;
var
Dygzxxb_Form: TDygzxxb_Form;
str:variant;
sql_str1:string;
sql_str2:string;
implementation
uses Main;
{$R *.dfm}
procedure TDygzxxb_Form.initdbgrid();
begin
dbgrid1.Columns[0].Width:=80;
dbgrid1.Columns[1].Width:=90;
dbgrid1.Columns[2].Width:=90;
dbgrid1.Columns[3].Width:=80;
dbgrid1.Columns[4].Width:=100;
dbgrid1.Columns[5].Width:=100;
dbgrid1.Columns[6].Width:=100;
dbgrid1.Columns[7].Width:=100;
dbgrid1.Columns[8].Width:=100;
dbgrid1.Columns[9].Width:=100;
dbgrid1.Columns[10].Width:=80;
dbgrid1.Columns[11].Width:=80;
dbgrid1.Columns[12].Width:=80;
dbgrid1.Columns[13].Width:=80;
dbgrid1.Columns[14].Width:=80;
dbgrid1.Columns[15].Width:=80;
dbgrid1.Columns[16].Width:=80;
dbgrid1.Columns[17].Width:=80;
dbgrid1.Columns[18].Width:=160;
dbgrid1.Columns[19].Width:=80;
end;
procedure TDygzxxb_Form.loadfromtable();
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(sql_str1);
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='ZgName';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=str;
adoquery1.Active:=true;
if adoquery1.Recordset.RecordCount>=1 then
begin
edit1.Text:=adoquery1.FieldByName('职工姓名').AsString;
combobox1.Text:=adoquery1.FieldByName('职工编号').AsString;
edit3.Text:=adoquery1.FieldByName('性别').AsString;
edit4.Text:=adoquery1.FieldByName('身份证号').AsString;
maskedit1.Text:=datetostr(adoquery1.FieldByName('出生年月').AsDateTime);
maskedit2.Text:=datetostr(adoquery1.FieldByName('参加工作时间').asdatetime);
edit5.Text:=adoquery1.FieldByName('职务').AsString;
edit6.Text:=currtostr(adoquery1.FieldByName('基本工资').AsCurrency);
edit11.Text:=adoquery1.FieldByName('工作部门').AsString;
adoquery1.Close;
//------------------------------------------------------------------------
// 查询当月工资表
//------------------------------------------------------------------------
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(sql_str2);
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='ZgName';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=str;
adoquery1.Active:=true;
adotable2.Recordset:=adoquery1.Recordset;
adotable1.Recordset:=adoquery1.Recordset;
initdbgrid;
adoquery1.Close;
edit7.Text:=currtostr(adotable2.FieldByName('浮动工资').AsCurrency);
edit8.Text:=currtostr(adotable2.FieldByName('津贴').AsCurrency);
edit9.Text:=currtostr(adotable2.FieldByName('工龄工资').AsCurrency);
edit2.Text:=currtostr(adotable2.FieldByName('奖金').AsCurrency);
edit19.Text:=currtostr(adotable2.FieldByName('补贴').AsCurrency);
edit10.Text:=currtostr(adotable2.FieldByName('其他').AsCurrency);
edit13.Text:=currtostr(adotable2.FieldByName('保险费').AsCurrency);
edit14.Text:=currtostr(adotable2.FieldByName('房租').AsCurrency);
edit15.Text:=currtostr(adotable2.FieldByName('补扣').AsCurrency);
edit16.Text:=currtostr(adotable2.FieldByName('所得税').AsCurrency);
edit17.Text:=currtostr(adotable2.FieldByName('工资总额').AsCurrency);
edit18.Text:=currtostr(adotable2.FieldByName('实发工资').AsCurrency);
edit20.Text:=floattostr(adotable2.FieldByName('税率').AsFloat);
edit12.Text:=adotable2.FieldByName('说明').AsString;
adotable2.Close;
end
else
begin
combobox1.Text:='';
edit3.Text:='';
edit4.Text:='';
maskedit1.Text:='';
maskedit2.Text:='';
edit5.Text:='';
edit6.Text:='';
edit11.Text:='';
edit12.Text:='';
adoquery1.Close;
application.MessageBox('该职工的资料不存在!','提示',48);
end;
end;
procedure TDygzxxb_Form.FormActivate(Sender: TObject);
begin
ADOConnection1:=MAIN_FORM.ADOConnection1;
adoquery1.Connection:=ADOConnection1;
adoquery1.Close;
dbgrid1.DataSource:=DataSource1;
DataSource1.DataSet:=adotable1;
adotable1.Close;
adotable1.Connection:=ADOConnection1;
adotable1.TableName:='当月工资表';
adotable1.Active:=true;
initdbgrid();
dbgrid1.ReadOnly:=true;
adotable2.Close;
adotable2.Connection:=ADOConnection1;
adotable3.Connection:=ADOConnection1;
adotable3.TableName:='当月工资表';
adotable3.Active:=true;
combobox1.Items.Clear;
while adotable3.Eof <> true do
begin
combobox1.Items.Add(adotable3.Fieldbyname('职工编号').AsString);
adotable3.Next;
end;
adotable3.Close;
end;
procedure TDygzxxb_Form.ComboBox1Click(Sender: TObject);
begin
if combobox1.Text<>'' then
begin
str:=trim(combobox1.Text);
sql_str1:='select * from 职工信息表'+
' where 职工编号=:ZgName order by 职工编号 ';
sql_str2:='select * from 当月工资表'+
' where 职工编号=:ZgName order by 职工编号 ';
loadfromtable;
end;
end;
procedure TDygzxxb_Form.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TDygzxxb_Form.Edit1Exit(Sender: TObject);
begin
str:=trim(edit1.Text);
sql_str1:='select * from 职工信息表'+
' where 职工姓名=:ZgName order by 职工编号 ';
sql_str2:='select * from 当月工资表'+
' where 职工姓名=:ZgName order by 职工编号 ';
loadfromtable;
end;
procedure TDygzxxb_Form.ADOTable1AfterScroll(DataSet: TDataSet);
begin
str:=inttostr(adotable1.Fieldbyname('职工编号').AsInteger);
sql_str1:='select * from 职工信息表'+
' where 职工编号=:ZgName order by 职工编号 ';
sql_str2:='select * from 当月工资表'+
' where 职工编号=:ZgName order by 职工编号 ';
// loadfromtable;
end;
procedure TDygzxxb_Form.DBGrid1DblClick(Sender: TObject);
begin
str:=inttostr(adotable1.Fieldbyname('职工编号').AsInteger);
sql_str1:='select * from 职工信息表'+
' where 职工编号=:ZgName order by 职工编号 ';
sql_str2:='select * from 当月工资表'+
' where 职工编号=:ZgName order by 职工编号 ';
loadfromtable;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -