mrp_qry_analyzermonthtotalmps.pas
来自「一个MRPII系统源代码版本」· PAS 代码 · 共 116 行
PAS
116 行
unit Mrp_Qry_AnalyzerMonthTotalMps;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, DBCtrls;
Type
TFrm_Mrp_Qry_AnalyzerMonthTotalMps = Class(TFrm_Base_Qry)
Label2: TLabel;
DbTxt_ItemFlag: TDBText;
procedure FormDestroy(Sender: TObject);
procedure Act_LookExecute(Sender: TObject);
private
{ Private declarations }
conditionHint1:String;
public
procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
procedure GetData; Override;
procedure SetFormParam(FrmParam1,FrmParam2,FrmParam3,FrmParam4,
FrmParam5,FrmParam6:String);Override;
{ Public declarations }
end;
var
Frm_Mrp_Qry_AnalyzerMonthTotalMps: TFrm_Mrp_Qry_AnalyzerMonthTotalMps;
implementation
uses Mrp_Qry_AnalyzerMonthTotalMps_C, Mrp_Qry_AnalyzerMonthTotalMps_D;
{$R *.DFM}
{ TFrm_Mrp_Qry_AnalyzerMonthTotalMps }
procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.InitForm(AdOConnection: TAdOConnection; ShowExtendColumn: Boolean);
begin
Inherited;
Frm_Sys_Condition:= TFrm_Mrp_Qry_AnalyzerMonthTotalMps_C.Create(self);
act_filter.Execute;
Frm_Sys_Condition.Release;
Frm_Sys_Condition:=nil;
end;
procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Mrp_Qry_AnalyzerMonthTotalMps:=nil;
end;
procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.Act_LookExecute(
Sender: TObject);
begin
inherited;
Frm_Mrp_Qry_AnalyzerMonthTotalMps_D:=TFrm_Mrp_Qry_AnalyzerMonthTotalMps_D.Create(Application);
Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.GetConnect(AdoQry_Main);
Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.ShowModal;
Frm_Mrp_Qry_AnalyzerMonthTotalMps_D.Release;
end;
procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.GetData;
var
SqlText:string;
I:Integer;
begin
if condition='none' then
exit;
SqlText:='Select ';
for i:=1 to 12 do
begin
SqlText:=SqlText+' #TmPmps.['+IntToStr(I)+'月需用量] As ['+IntToStr(I)+'月需用量] ,'
+' #TmPmps.['+IntToStr(I)+'月完成量] As ['+IntToStr(I)+'月完成量] ,'
+' #TmPmps.['+IntToStr(I)+'月完成率] As ['+IntToStr(I)+'月完成率] ,';
end;
SqlText:=SqlText+' #TmPmps.ItemCode,#TmPmps.MpsQty,#TmPmps.MpsFinishQty,#TmPmps.MpsQtyFinishQty,Item.ItemName,Uom.UomName,'
+' Item.ItemCode+'''+' '+'''+Item.ItemName As ItemFlag '
+' From #TmPmps '
+' left Join Item On #TmPmps.ItemCode=Item.ItemCode '
+' Left Join Uom On Item.UomCode=Uom.UomCode ';
AdoQry_Main.Close;
if Condition<>'' then
AdoQry_Main.SQL.Text:=SqlText+' Where '+Condition
else
AdoQry_Main.SQL.Text:=SqlText;
AdoQry_Main.Open;
For I:=0 To AdoQry_Main.FieldCount -1 Do
begin
If AdoQry_Main.Fields[I].DataType=FtFloat Then
Tfloatfield(AdoQry_Main.Fields[I]).DisplayFormat:='#,##0';
If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('ItemName') Then
AdoQry_Main.Fields[I].Origin:='Item'
Else If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('UomName') Then
AdoQry_Main.Fields[I].Origin:='Uom'
Else If UpperCase(AdoQry_Main.Fields[I].DisplayName)=UpperCase('ItemFlag') Then
AdoQry_Main.Fields[I].Origin:=''
Else
AdoQry_Main.Fields[I].Origin:='#TmPmps';
end;
Lbl_Condition.Caption := conditionHint1+'/'+Lbl_Condition.Caption;
end;
procedure TFrm_Mrp_Qry_AnalyzerMonthTotalMps.SetFormParam(FrmParam1,
FrmParam2, FrmParam3, FrmParam4, FrmParam5, FrmParam6: String);
begin
inherited;
conditionHint1:=FrmParam1;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?