📄 bas_qry_bom.pas
字号:
unit Bas_Qry_Bom;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin, jpeg;
Type
TFrm_Bas_Qry_Bom = Class(TFrm_Base_Qry)
Label1: TLabel;
Label2: TLabel;
Label5: TLabel;
Label6: TLabel;
AdODataSet1: TAdODataSet;
AdODataSet1Ite_ItemCode: TStringField;
AdODataSet1ItemName: TStringField;
AdODataSet1ite_ItemCodeName: TStringField;
AdODataSet1PPmCode: TIntegerField;
AdODataSet1PItemType: TIntegerField;
AdODataSet1ItemCode: TStringField;
AdODataSet1ItemCodeName: TStringField;
AdODataSet1CUomCode: TStringField;
AdODataSet1cPmCode: TIntegerField;
AdODataSet1CItemType: TIntegerField;
AdODataSet1BomItemType: TIntegerField;
AdODataSet1BomStatus: TIntegerField;
AdODataSet1depCodeName: TStringField;
AdODataSet1RemArk: TStringField;
AdODataSet1BomQty: TFloatField;
AdODataSet1BomScrAp_Percent: TFloatField;
AdODataSet1pUomCode: TStringField;
procedure DBGridEhKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure DBGridEhMouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure DataSourceDataChange(Sender: TObject; Field: TField);
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure DBGridEhDblClick(Sender: TObject);
procedure AdODataSet1AfterOpen(DataSet: TDataSet);
private
{ Private declarations }
procedure displayCodeName; //显示父,子项代码和名称;
public
{ Public declarations }
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
end;
var
Frm_Bas_Qry_Bom: TFrm_Bas_Qry_Bom;
implementation
uses Sys_Global, Bas_Qry_Bom_D;
{$R *.DFM}
{ TFrm_Base_Bom_Qry }
procedure TFrm_Bas_Qry_Bom.InitForm(AdOConnection: TAdOConnection;
ReadOnly: Boolean);
begin
inherited;
Adodataset1.Connection :=AdoConnection;
Screen.Cursor:=CrSQLWait;
selectfromSql:=' select Bom.Ite_ItemCode,'+
' Item.ItemName,'+
' Bom.Ite_ItemCode+'' ''+Item.ItemName as ite_ItemCodeName,'+
' Uom.UomName as pUomCode,'+
' Item.PmCode as PPmCode,'+
' Item.ItemType as PItemType,'+
' Bom.ItemCode,'+
' Bom.ItemCode+'' ''+a.ItemName as ItemCodeName,'+
' U.UomName as CUomCode,'+
' a.PmCode as cPmCode,'+
' a.ItemType as CItemType,'+
' Bom.BomItemType,'+
' Bom.BomQty as BomQty,'+
' Bom.BomScrAp_Percent as BomScrAp_Percent,'+
' Bom.BomStatus as BomStatus,'+
' Bom.DeptCode+'' ''+Dept.DeptName as depCodeName,'+
' Bom.RemArk as RemArk'+
' from Bom'+
' left join Item on Bom.ite_ItemCode=Item.ItemCode'+
' left join Uom on Item.UomCode=Uom.UomCode'+
' left join Item a on Bom.ItemCode=a.ItemCode'+
' left join Uom u on a.UomCode=u.UomCode'+
' left join Dept on Bom.DeptCode=Dept.DeptCode';
Condition:=' Bom.ite_ItemCode is not null ';
OrderByFields:=' ite_ItemCodeName';
Getdata;
Screen.Cursor:=crDefault;
end;
procedure TFrm_Bas_Qry_Bom.DBGridEhKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_Bom.DBGridEhMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_Bom.displayCodeName;
begin
//label2.Caption:=AdoQry_Main.fieldbyname('Ite_ItemCodeName').asstring;
//label6.Caption:=AdoQry_Main.fieldbyname('ItemCodeName').asstring;
label2.Caption:=AdODataSet1.fieldbyname('Ite_ItemCodeName').asstring;
label6.Caption:=AdODataSet1.fieldbyname('ItemCodeName').asstring;
end;
procedure TFrm_Bas_Qry_Bom.DataSourceDataChange(Sender: TObject;
Field: TField);
begin
inherited;
displayCodeName;
end;
procedure TFrm_Bas_Qry_Bom.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Bas_Qry_Bom:=Nil;
end;
procedure TFrm_Bas_Qry_Bom.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
Action:=Cafree;
end;
procedure TFrm_Bas_Qry_Bom.DBGridEhDblClick(Sender: TObject);
begin
inherited;
try
Frm_Bas_Qry_Bom_D:=TFrm_Bas_Qry_Bom_D.Create(self);
with Frm_Bas_Qry_Bom_D do
begin
Label2.Caption:=DBgrideh.Columns[0].DisplayText;
Label4.Caption:=DBgrideh.Columns[1].DisplayText;
Label6.Caption:=DBgrideh.Columns[2].DisplayText;
Label8.Caption:=DBgrideh.Columns[3].DisplayText;
Label10.Caption:=DBgrideh.Columns[4].DisplayText;
Label12.Caption:=DBgrideh.Columns[5].DisplayText;
Label14.Caption:=DBgrideh.Columns[10].DisplayText;
Label16.Caption:=DBgrideh.Columns[11].DisplayText;
Label18.Caption:=DBgrideh.Columns[8].DisplayText;
Label20.Caption:=DBgrideh.Columns[7].DisplayText;
Label22.Caption:=DBgrideh.Columns[6].DisplayText;
Label24.Caption:=DBgrideh.Columns[9].DisplayText;
Label26.Caption:=DBgrideh.Columns[12].DisplayText;
Label28.Caption:=DBgrideh.Columns[13].DisplayText;
end;
Frm_Bas_Qry_Bom_D.ShowModal;
finally
Frm_Bas_Qry_Bom_D.Free;
end;
end;
procedure TFrm_Bas_Qry_Bom.AdODataSet1AfterOpen(DataSet: TDataSet);
begin
inherited;
//TFloatField(DataSet.fieldbyname('BomQty')).DisplayFormat:='0.#####';
//TFloatField(DataSet.fieldbyname('BomScrAp_Percent')).DisplayFormat:='0.#####';
if AdODataSet1.recordCount>0 then
Pnl_Hint.Caption:='提示:共有:'+''+inttostr(AdODataSet1.recordCount)+''+'条记录'
else
Pnl_Hint.Caption:='提示:此物料无子项!';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -