📄 unit13.~pas
字号:
unit Unit13;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Spin, Grids, DBGrids, DBTables, DB, Buttons, jpeg,
ExtCtrls;
type
Tfrm_wage = class(TForm)
Label1: TLabel;
DataSource1: TDataSource;
Table1: TTable;
Query1: TQuery;
DBGrid1: TDBGrid;
Label2: TLabel;
lbl_wage: TLabel;
lbl_total: TLabel;
Label3: TLabel;
Label4: TLabel;
se_year: TSpinEdit;
se_month: TSpinEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
BitBtn4: TBitBtn;
BitBtn5: TBitBtn;
Image1: TImage;
procedure BitBtn5Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure se_yearChange(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_wage: Tfrm_wage;
implementation
{$R *.dfm}
procedure Tfrm_wage.BitBtn5Click(Sender: TObject);
begin
close;
end;
procedure Tfrm_wage.FormCreate(Sender: TObject);
var
ayear,amonth,aday:word;
begin
decodedate(date(),ayear,amonth,aday);
se_year.Value:=ayear;
se_month.Value:=amonth;
table1.Filter:='工资年度='+se_year.Text+' and 工资月度='+se_month.Text;
table1.Filtered:=true;
end;
procedure Tfrm_wage.se_yearChange(Sender: TObject);
begin
table1.Filter:='工资年度='+se_year.Text+' and 工资月度='+se_month.Text;
table1.Filtered:=true;
end;
procedure Tfrm_wage.BitBtn3Click(Sender: TObject);
begin
query1.SQL.text:=
'delete form salary.db'
+'where 工资年度='+se_year.text+' and 工资月度='+se_month.Text;
query1.ExecSQL;
table1.refresh;
end;
procedure Tfrm_wage.BitBtn2Click(Sender: TObject);
var
asql:string;
begin
table1.Filter:='工资年度'+se_year.Text+' and 工资月度='+se_month.Text;
table1.Filtered:=true;
if table1.RecordCount<>0 then
begin
asql:='update 工资表 set 出勤工资=日工资*出勤天数,合计=出勤工资+奖金'
+' where 工资年度='+se_year.text+' and 工资月度='+se_month.text;
query1.SQL.Text:=asql;
query1.execsql;
table1.Refresh;
asql:='select sum(出勤工资),sum(合计) from salary.db '
+'where 工资年度='+se_year.Text+' and 工资月度='+se_month.Text;
query1.SQL.Text:=asql;
query1.Open;
lbl_wage.caption:=query1.Fields[0].asstring;
lbl_total.Caption:=query1.Fields[1].asstring;
query1.close;
end;
end;
procedure Tfrm_wage.BitBtn1Click(Sender: TObject);
var
asql:string;
i:integer; date1,date2:tdatetime;
begin
table1.filter:='工资年度='+se_year.Text+' and 工资月度='+se_month.Text;
table1.Filtered:=true;
if table1.RecordCount=0 then
begin
asql:='insert into salary1(编号,姓名,日工资,出勤天数,奖金,工资年度,工资月度)'
+' select distinct 员工编号,员工姓名,员工日工资,30,0,0'+se_year.text+','+se_month.Text
+' from workerinfor.db';
query1.SQL.Text:=asql;
query1.ExecSQL;
table1.Refresh;
table1.First;
for i:=0 to table1.RecordCount-1 do
begin
query1.close;
date1:=encodedate(se_year.Value,se_month.value,1);
date2:=encodedate(se_year.Value,se_month.value+1,1);
query1.ParamByName('d1').AsDateTime:=date1;
query1.ParamByName('d2').asdatetime:=date2;
query1.Open;
table1.Edit;
table1.Post;
table1.Next;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -