delete from "p.dbf"
where
单位 = :OLD_单位 and
姓名 = :OLD_姓名 and
序号 = :OLD_序号
insert into "p.dbf"
(单位, 姓名, 序号, 参工时间, 级别, 出勤, 病假, 无薪, 公休, 节日, 夜餐,
保健, 驾驶, 技能, 地补, 加班工资, 夜餐费, 岗贴, 工龄, 科贴, 稳贴, 教师,
资料, 洗理, 交通, 驾贴, 附加, 补发, 病事扣款, 公积金, 扣发, 保贴,
房贴, 罐补, 御寒, 页码, 系数)
values
单位, :姓名, :序号, :参工时间, :级别, :出勤, :病假, :无薪, :公休, :节日,
:夜餐, :保健, :驾驶, :技能, :地补, :加班工资, :夜餐费, :岗贴, :工龄,
:科贴, :稳贴, :教师, :资料, :洗理, :交通, :驾贴, :附加, :补发,
:病事扣款, :公积金, :扣发, :保贴, :房贴, :罐补, :御寒, :页码, :系数)
update "p.dbf"
set
单位 = :单位,
姓名 = :姓名,
序号 = :序号,
参工时间 = :参工时间,
级别 = :级别,
出勤 = :出勤,
病假 = :病假,
无薪 = :无薪,
公休 = :公休,
节日 = :节日,
夜餐 = :夜餐,
保健 = :保健,
驾驶 = :驾驶,
技能 = :技能,
地补 = :地补,
加班工资 = :加班工资,
夜餐费 = :夜餐费,
岗贴 = :岗贴,
工龄 = :工龄,
科贴 = :科贴,
稳贴 = :稳贴,
教师 = :教师,
资料 = :资料,
洗理 = :洗理,
交通 = :交通,
驾贴 = :驾贴,
附加 = :附加,
补发 = :补发,
病事扣款 = :病事扣款,
公积金 = :公积金,
扣发 = :扣发,
保贴 = :保贴,
房贴 = :房贴,
罐补 = :罐补,
御寒 = :御寒,
页码 = :页码,
系数 = :系数
where
单位 = :OLD_单位 and
姓名 = :OLD_姓名 and
序号 = :OLD_序号
procedure TMDIChild.QueryPCalcFields(DataSet: TDataSet);
begin
QueryP.FieldByName('应发').AsFloat :=
QueryP.FieldByName('技能').AsInteger *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('地补').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('加班工资').AsFloat +
QueryP.FieldByName('夜餐费').AsFloat +
QueryP.FieldByName('岗贴').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('工龄').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('科贴').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('稳贴').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('教师').AsFloat +
QueryP.FieldByName('资料').AsFloat +
QueryP.FieldByName('洗理').AsFloat +
QueryP.FieldByName('交通').AsFloat +
QueryP.FieldByName('驾贴').AsFloat +
QueryP.FieldByName('附加').AsFloat *
QueryP.FieldByName('系数').AsFloat +
QueryP.FieldByName('补发').AsFloat -
QueryP.FieldByName('病事扣款').AsFloat ;
QueryP.FieldByName('实发').Asfloat :=
QueryP.FieldByName('应发').Asfloat +
QueryP.FieldByName('保贴').Asfloat +
QueryP.FieldByName('房贴').AsFloat +
QueryP.FieldByName('罐补').AsFloat +
QueryP.FieldByName('御寒').AsFloat -
QueryP.FieldByName('扣发').AsFloat -
QueryP.FieldByName('公积金').AsFloat;
end;
procedure TMDIChild.QueryPBDEDesigner9Validate(Sender: TField);
var
rgz : real;
begin
//计算 加班 夜餐费
QueryP.FieldByName('夜餐费').Asfloat := QueryP.FieldByName('夜餐').asfloat*2.4;
rgz := QueryP.FieldByName('技能').AsInteger/21.16;
QueryP.FieldByName('加班工资').Asfloat :=
(QueryP.FieldByName('公休').asfloat*2+QueryP.FieldByName('节日').asfloat*3)*rgz ;
end;
procedure TMDIChild.QueryPBDEDesigner5Validate(Sender: TField);
var
sGzjb : string;
bFound : boolean;
begin
//计算 技能工资
bfound := false;
sGzjb := QueryP.FieldByName('级别').AsString;
TableGZJB.First;
while( (not TableGZJB.eof) and (not bfound) )do
begin
if TableGZJB.FieldByName('工资级别').AsString = sGzjb then
begin
QueryP.FieldByName('技能').AsInteger :=
TableGZJB.FieldByName('技能工资').AsInteger;
bfound := true;
end;
TableGZJB.Next;
end;
if not bfound then
Application.MessageBox('工资级别可能不对!', PChar(Application.Title),16);
end;
//保存修改
procedure TMainForm.FileSave1Execute(Sender: TObject);
begin
if MainForm.ActiveMDIChild is TMDIChild then
begin
(MainForm.ActiveMDIChild as TMDIChild).UpdateSQL1.DeleteSQL.Text :=
'delete from "' + sPName +
'" where ' +
' 单位 = :OLD_单位 and ' +
' 姓名 = :OLD_姓名 and ' +
' 序号 = :OLD_序号';
(MainForm.ActiveMDIChild as TMDIChild).UpdateSQL1.ModifySQL.Text :=
'update "' + sPName +
'" set ' +
' 单位 = :单位,' +
' 姓名 = :姓名,' +
' 序号 = :序号,' +
' 参工时间 = :参工时间,' +
' 级别 = :级别,' +
' 出勤 = :出勤,' +
' 病假 = :病假,' +
' 无薪 = :无薪,' +
' 公休 = :公休,' +
' 节日 = :节日,' +
' 夜餐 = :夜餐,' +
' 保健 = :保健,' +
' 驾驶 = :驾驶,' +
' 技能 = :技能,' +
' 地补 = :地补,' +
' 加班工资 = :加班工资,' +
' 夜餐费 = :夜餐费,' +
' 岗贴 = :岗贴,' +
' 工龄 = :工龄,' +
' 科贴 = :科贴,' +
' 稳贴 = :稳贴,' +
' 教师 = :教师,' +
' 资料 = :资料,' +
' 洗理 = :洗理,' +
' 交通 = :交通,' +
' 驾贴 = :驾贴,' +
' 附加 = :附加,' +
' 补发 = :补发,' +
' 病事扣款 = :病事扣款,' +
' 公积金 = :公积金,' +
' 扣发 = :扣发,' +
' 保贴 = :保贴,' +
' 房贴 = :房贴,' +
' 罐补 = :罐补,' +
' 御寒 = :御寒,' +
' 页码 = :页码,' +
' 系数 = :系数' +
' where ' +
' 单位 = :OLD_单位 and ' +
' 姓名 = :OLD_姓名 and' +
' 序号 = :OLD_序号 ';
(MainForm.ActiveMDIChild as TMDIChild).UpdateSQL1.InsertSQL.Text :=
'insert into "' +sPName + '"' +
'(单位, 姓名, 序号, 参工时间, 级别, 出勤, 病假, 无薪, 公休, 节日, 夜餐,' +
' 保健, 驾驶, 技能, 地补, 加班工资, 夜餐费, 岗贴, 工龄, 科贴, 稳贴, 教师,' +
' 资料, 洗理, 交通, 驾贴, 附加, 补发, 病事扣款, 公积金, 扣发, 保贴,' +
' 房贴, 罐补, 御寒, 页码, 系数)' +
' values '+
'
单位, :姓名, :序号, :参工时间, :级别, :出勤, :病假, :无薪, :公休, :节日,'+
' :夜餐, :保健, :驾驶, :技能, :地补, :加班工资, :夜餐费, :岗贴, :工龄,'+
' :科贴, :稳贴, :教师, :资料, :洗理, :交通, :驾贴, :附加, :补发,'+
' :病事扣款, :公积金, :扣发, :保贴, :房贴, :罐补, :御寒, :页码, :系数)';
(MainForm.ActiveMDIChild as TMDIChild).QueryP.ApplyUpdates;
(MainForm.ActiveMDIChild as TMDIChild).QueryP.CommitUpdates;
(MainForm.ActiveMDIChild as TMDIChild).QueryP.Close;
(MainForm.ActiveMDIChild as TMDIChild).QueryP.Open;
end;
end;
有点长,主要部分就是这样。