📄 f_zcfy.pas
字号:
unit f_zcfy;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, DB, ADODB, Mask, DBCtrls;
type
Tw_zcfy = class(TForm)
GroupBox1: TGroupBox;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
Label2: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
ado_overhead_distribute: TADOQuery;
data_overhead_distribute: TDataSource;
DBEdit1: TDBEdit;
ADOQuery2: TADOQuery;
DataSource2: TDataSource;
DBEdit2: TDBEdit;
Label3: TLabel;
Edit3: TEdit;
Button1: TButton;
ADOQuery3: TADOQuery;
DataSource3: TDataSource;
DBEdit3: TDBEdit;
Label4: TLabel;
ado_overhead_distributeactive_id: TStringField;
ado_overhead_distributecost_active_id: TStringField;
ado_overhead_distributerate: TFloatField;
ado_overhead_distributeproduct_id: TStringField;
ado_overhead_distributeproduct_distribute_cost: TFloatField;
ADOQuery4: TADOQuery;
DataSource4: TDataSource;
DBEdit4: TDBEdit;
DataSource5: TDataSource;
ADOQuery5: TADOQuery;
ADOQuery6: TADOQuery;
DataSource6: TDataSource;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Label9: TLabel;
ADOQuery2sum: TFloatField;
ADOQuery5sum: TFloatField;
ADOQuery3sum: TFloatField;
ADOQuery4ss: TFloatField;
DBEdit6: TDBEdit;
DBEdit5: TDBEdit;
ADOQuery1: TADOQuery;
ADOQuery1sum: TFloatField;
DataSource1: TDataSource;
ADOQuery6s: TFloatField;
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
w_zcfy: Tw_zcfy;
implementation
uses f_active_id, f_cost_active_id, data_1;
{$R *.dfm}
procedure Tw_zcfy.SpeedButton1Click(Sender: TObject);
begin
application.CreateForm(tw_active_id,w_active_id);
if w_active_id.ShowModal=mrok then
edit1.Text:=copy(trim(w_active_id.ComboBox1 .Text),1,5);
end;
procedure Tw_zcfy.SpeedButton2Click(Sender: TObject);
begin
application.CreateForm(tw_cost_active_id,w_cost_active_id);
if w_cost_active_id.ShowModal=mrok then
edit2.Text:=copy(trim(w_cost_active_id.ComboBox1 .Text),1,5);
end;
procedure Tw_zcfy.Button1Click(Sender: TObject);
begin
if edit1.Text='' then
begin
application.MessageBox('请选择活动号!!','提示',mb_ok+mb_IconInformation);
end
else if edit2.Text ='' then
begin
application.MessageBox('请选择成本动因号!!','提示',mb_ok+mb_IconInformation);
end
else begin
edit3.Text:=floattostr((strtofloat(dbedit1.Text))/(strtofloat(dbedit2.Text)));
edit7.Text:=floattostr((strtofloat(dbedit6.Text))*(strtofloat(edit3.text))) ; // 104
edit6.Text:=floattostr((strtofloat(dbedit5.Text))*(strtofloat(edit3.text))) ; // 103
edit4.Text:=floattostr((strtofloat(dbedit3.Text))*(strtofloat(edit3.text))) ; //101
edit5.Text:=floattostr((strtofloat(dbedit4.Text))*(strtofloat(edit3.text))) ; //102
end;
end;
procedure Tw_zcfy.BitBtn1Click(Sender: TObject);
begin
data1.database1.connected:=true;
ado_overhead_distribute.Connection:=data1.database1;
if edit4.Text+edit5.Text+edit6.Text+edit7.Text +edit3.Text='' then
begin
application.MessageBox('请先计算费用!!','提示',mb_ok+mb_IconInformation);
end
else
with ado_overhead_distribute do begin
Close;
SQL.Clear;
SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
Parameters.Clear;
Parameters.AddParameter.Name := 'a_id';
Parameters.AddParameter.Name := 'c_id';
Parameters.AddParameter.Name := 'rate';
parameters.AddParameter.Name:='p_id';
parameters.AddParameter.Name:='p_d';
Parameters.ParamByName('a_id').Value := edit1.Text ;
Parameters.ParamByName('c_id').Value := edit2.Text;
Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
Parameters.ParamByName('p_id').Value := 101;
Parameters.ParamByName('p_d').Value :=strtofloat(edit4.Text); //插入101
ExecSQL; //執行
SQL.Clear;
SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
Parameters.Clear;
Parameters.AddParameter.Name := 'a_id';
Parameters.AddParameter.Name := 'c_id';
Parameters.AddParameter.Name := 'rate';
parameters.AddParameter.Name:='p_id';
parameters.AddParameter.Name:='p_d';
Parameters.ParamByName('a_id').Value := edit1.Text ;
Parameters.ParamByName('c_id').Value := edit2.Text;
Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
Parameters.ParamByName('p_id').Value := 102;
Parameters.ParamByName('p_d').Value :=strtofloat(edit5.Text);
ExecSQL; //執行 //插入102
SQL.Clear;
SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
Parameters.Clear;
Parameters.AddParameter.Name := 'a_id';
Parameters.AddParameter.Name := 'c_id';
Parameters.AddParameter.Name := 'rate';
parameters.AddParameter.Name:='p_id';
parameters.AddParameter.Name:='p_d';
Parameters.ParamByName('a_id').Value := edit1.Text ;
Parameters.ParamByName('c_id').Value := edit2.Text;
Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
Parameters.ParamByName('p_id').Value := 103;
Parameters.ParamByName('p_d').Value :=strtofloat(edit6.Text); //插入103
ExecSQL; //執行
SQL.Clear;
SQL.Add('insert into overhead_distribute(active_id,cost_active_id,rate,product_id,product_distribute_cost)'); //SQL文
SQL.Add('values(:a_id,:c_id,:rate,:p_id,:p_d)');
Parameters.Clear;
Parameters.AddParameter.Name := 'a_id';
Parameters.AddParameter.Name := 'c_id';
Parameters.AddParameter.Name := 'rate';
parameters.AddParameter.Name:='p_id';
parameters.AddParameter.Name:='p_d';
Parameters.ParamByName('a_id').Value := edit1.Text ;
Parameters.ParamByName('c_id').Value := edit2.Text;
Parameters.ParamByName('rate').Value := strtofloat(edit3.Text);
Parameters.ParamByName('p_id').Value := 104;
Parameters.ParamByName('p_d').Value :=strtofloat(edit7.Text); //插入104
ExecSQL; //執行
ado_overhead_distribute.Close;
ado_overhead_distribute.SQL.Clear;
ado_overhead_distribute.SQL.Add('select * from overhead_distribute') ;
ado_overhead_distribute.SQL.Add('exec pro_over 101');
ado_overhead_distribute.SQL.Add('exec pro_over 102');
ado_overhead_distribute.SQL.Add('exec pro_over 103');
ado_overhead_distribute.SQL.Add('exec pro_over 104');
ado_overhead_distribute.Open;
application.MessageBox('分配成功!!','提示',mb_ok+mb_IconInformation);
end;
//显示表格
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -