📄 stdtable.pas
字号:
unit stdtable;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, DBTables, ExtCtrls, StdCtrls, Mask, DBCtrls;
type
Tfrm_stdtable = class(TForm)
Lbtablename: TListBox;
Pan_ostation: TPanel;
ostation: TTable;
dsostation: TDataSource;
DBGostation: TDBGrid;
btnsave_ostation: TButton;
Pan_coefficient: TPanel;
btnsave_coefficient: TButton;
dscoefficient: TDataSource;
coefficient: TTable;
DBGcoefficient: TDBGrid;
Pan_deduct: TPanel;
Btnsave_deduct: TButton;
DBGdeduct: TDBGrid;
dsdeduct: TDataSource;
deduct: TTable;
Label1: TLabel;
float: TTable;
dsfloat: TDataSource;
Pan_float: TPanel;
btnsave_float: TButton;
Pan_headoffice: TPanel;
DBGheadoffice: TDBGrid;
btnsave_headoffice: TButton;
headoffice: TTable;
dsheadoffice: TDataSource;
Pan_maintain: TPanel;
btnsave_maintain: TButton;
dsmaintain: TDataSource;
maintain: TTable;
Pan_office: TPanel;
btnsave_office: TButton;
DBGoffice: TDBGrid;
dsoffice: TDataSource;
office: TTable;
Pan_upper: TPanel;
btnsave_upper: TButton;
DBGupper: TDBGrid;
dsupper: TDataSource;
upper: TTable;
sstation: TTable;
dssstation: TDataSource;
Pan_sstation: TPanel;
btnsave_sstation: TButton;
DBGsstation: TDBGrid;
Label2: TLabel;
DBEdit1: TDBEdit;
Label3: TLabel;
Pan_bonus: TPanel;
btnsave_bonus: TButton;
Panel2: TPanel;
Panel3: TPanel;
Panel4: TPanel;
Panel5: TPanel;
Panel6: TPanel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
bonus: TQuery;
floatBDEDesigner: TFloatField;
floatBDEDesigner2: TFloatField;
floatBDEDesigner3: TFloatField;
floatBDEDesigner4: TFloatField;
Panel1: TPanel;
Panel7: TPanel;
Panel8: TPanel;
Panel9: TPanel;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
ostationBDEDesigner2: TStringField;
headofficeBDEDesigner2: TFloatField;
headofficeBDEDesigner3: TFloatField;
officeBDEDesigner: TStringField;
officeBDEDesigner2: TStringField;
officeBDEDesigner3: TStringField;
coefficientBDEDesigner2: TFloatField;
coefficientBDEDesigner3: TFloatField;
deductBDEDesigner2: TFloatField;
deductBDEDesigner3: TFloatField;
Query1: TQuery;
upperBDEDesigner2: TStringField;
upperBDEDesigner3: TCurrencyField;
procedure btnsave_ostationClick(Sender: TObject);
procedure btnsave_bonusClick(Sender: TObject);
procedure btnsave_coefficientClick(Sender: TObject);
procedure LbtablenameClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Btnsave_deductClick(Sender: TObject);
procedure DBGmaintainKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGfloatKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnsave_upperClick(Sender: TObject);
procedure btnsave_officeClick(Sender: TObject);
procedure btnsave_maintainClick(Sender: TObject);
procedure btnsave_headofficeClick(Sender: TObject);
procedure btnsave_floatClick(Sender: TObject);
procedure btnsave_sstationClick(Sender: TObject);
procedure DBGofficeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGofficeKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGcoefficientKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGdeductKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGupperKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
procedure falsevisible;
public
{ Public declarations }
end;
var
frm_stdtable: Tfrm_stdtable;
implementation
uses data;
{$R *.dfm}
procedure Tfrm_stdtable.btnsave_ostationClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
ostation.ApplyUpdates;
DatabaseJxw.commit;
//ostation.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_bonusClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
with bonus do begin
if active then close;
unprepare;
sql.Clear;
sql.Add('update std_pay_bonus set 奖励率=:jl1,惩罚率=:cf1 where 吨位是否大于600t=''是''');
sql.Add('update std_pay_bonus set 奖励率=:jl2,惩罚率=:cf2 where 吨位是否大于600t=''否''');
parambyname('jl1').AsFloat :=strtofloat(edit1.text);
parambyname('cf1').AsFloat :=strtofloat(edit2.text);
parambyname('jl2').AsFloat :=strtofloat(edit3.text);
parambyname('cf2').AsFloat :=strtofloat(edit4.text);
prepare;
ExecSQL ;
end;
DatabaseJxw.commit;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_coefficientClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
coefficient.ApplyUpdates ;
DatabaseJxw.commit;
// coefficient.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.LbtablenameClick(Sender: TObject);
begin
if Lbtablename.itemindex>=0
then begin
label1.Caption :=Lbtablename.Items[Lbtablename.itemindex];
falsevisible;
if Lbtablename.Items[Lbtablename.itemindex]='职位名称'
then Pan_ostation.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='价差奖罚率表'
then begin
Pan_bonus.Visible :=true;
with bonus do begin
if active then close;
unprepare;
sql.Clear;
sql.Add('select * from std_pay_bonus');
open ;
first;
edit1.text:=floattostr(FieldByName('奖励率').AsFloat);
edit2.text:=floattostr(FieldByName('惩罚率').AsFloat);
next;
edit3.text:=floattostr(FieldByName('奖励率').AsFloat);
edit4.text:=floattostr(FieldByName('惩罚率').AsFloat);
end;
end;
if Lbtablename.Items[Lbtablename.itemindex]='货款调整系数表'
then Pan_coefficient.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='零配件销售回款提成表'
then Pan_deduct.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='公司佣金浮动率表'
then Pan_float.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='总公司奖金比例表'
then Pan_headoffice.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='维修人工费计提率表'
then Pan_maintain.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='公司佣金率表'
then Pan_office.Visible :=true;
if Lbtablename.Items[Lbtablename.itemindex]='月发放佣金上限表'
then begin
Pan_upper.Visible :=true;
Query1.ExecSQL ;
end;
if Lbtablename.Items[Lbtablename.itemindex]='职位名称2'
then Pan_sstation.Visible :=true;
end;
end;
procedure Tfrm_stdtable.falsevisible;
begin
Pan_coefficient.Visible :=false;
Pan_bonus.Visible :=false;
Pan_ostation.Visible :=false;
Pan_deduct.Visible :=false;
Pan_office.Visible :=false;
Pan_sstation.Visible :=false;
Pan_upper.Visible :=false;
Pan_maintain.Visible :=false;
Pan_headoffice.Visible :=false;
Pan_float.Visible :=false;
end;
procedure Tfrm_stdtable.FormCreate(Sender: TObject);
begin
falsevisible;
coefficient.Open ;
ostation.Open ;
deduct.Open ;
office.Open ;
sstation.Open ;
upper.Open ;
maintain.Open ;
headoffice.Open ;
float.Open ;
end;
procedure Tfrm_stdtable.Btnsave_deductClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
deduct.ApplyUpdates ;
DatabaseJxw.commit;
// deduct.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.DBGmaintainKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if maintain.RecordCount>0 then begin
maintain.Delete;
end;
end;
procedure Tfrm_stdtable.DBGfloatKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if float.RecordCount>0 then begin
float.Delete;
end;
end;
procedure Tfrm_stdtable.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=cafree;
end;
procedure Tfrm_stdtable.btnsave_upperClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
upper.ApplyUpdates ;
DatabaseJxw.commit;
// upper.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_officeClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
office.ApplyUpdates ;
DatabaseJxw.commit;
//office.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_maintainClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
maintain.ApplyUpdates ;
DatabaseJxw.commit;
// maintain.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_headofficeClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
headoffice.ApplyUpdates ;
DatabaseJxw.commit;
// headoffice.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.btnsave_floatClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
float.ApplyUpdates ;
DatabaseJxw.commit;
// float.CommitUpdates ;
except
DatabaseJxw.Rollback;
raise;
end;
end;
float.Open;
end;
procedure Tfrm_stdtable.btnsave_sstationClick(Sender: TObject);
begin
with data.zxjxdata do begin
if not DatabaseJxw.intransaction then DatabaseJxw.starttransaction;
try
sstation.ApplyUpdates ;
DatabaseJxw.commit;
except
DatabaseJxw.Rollback;
raise;
end;
end;
end;
procedure Tfrm_stdtable.DBGofficeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
//if office.Eof and (key=40) then office.Last ;
end;
procedure Tfrm_stdtable.DBGofficeKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if office.Eof and (key=40) then office.Last ;
end;
procedure Tfrm_stdtable.DBGcoefficientKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if coefficient.Eof and (key=40) then coefficient.Last ;
end;
procedure Tfrm_stdtable.DBGdeductKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if deduct.Eof and (key=40) then deduct.Last ;
end;
procedure Tfrm_stdtable.DBGupperKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if upper.Eof and (key=40) then upper.Last ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -