📄 unitmatenumplanqry.~pas
字号:
unit UnitMateNumPlanQry;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, RXCtrls, StdCtrls, ComCtrls, Buttons, ExtCtrls,
DB, ADODB;
type
TfrmMateNumPlanQry = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
sbtncode: TSpeedButton;
Label4: TLabel;
lblwlmc: TLabel;
lblWllb: TLabel;
dtpfrom: TDateTimePicker;
dtpto: TDateTimePicker;
edtWlbm: TEdit;
btnQry: TButton;
btnPrint: TButton;
btnClose: TButton;
cbbLb: TComboBox;
Panel3: TPanel;
Panel16: TPanel;
RxLabel7: TRxLabel;
lbl_HuiZong: TRxLabel;
DBGrid1: TDBGrid;
ADOQuery_sql: TADOQuery;
dsPlan: TDataSource;
procedure FormShow(Sender: TObject);
procedure btnCloseClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure dtptoExit(Sender: TObject);
private
{ Private declarations }
listLb,listLbmc:array of string;
public
{ Public declarations }
end;
var
frmMateNumPlanQry: TfrmMateNumPlanQry;
implementation
uses UnitDm;
{$R *.dfm}
procedure TfrmMateNumPlanQry.FormShow(Sender: TObject);
var
str:string;
begin
str:=' select a.PlanNo as 计划编号,d.mate_code as 物料编码,d.mate_name as 物料名称, '+
' d.mate_type as 规格型号,d.mate_class as 物料类别, '+
' (isNull(a.In_Sum,0)) as 累计入库数,(isNull(a.Out_Sum,0))as 累计出库数, '+
' (a.PlanNum-isNull(a.In_Sum,0)+isNull(a.Out_Sum,0)) as 上周库存数, '+
' (isNull(b.In_Amount,0)) as 本周入库数, '+
' (isNull(c.Out_Amount,0)) as 本周出库数, '+
' (isNull(a.In_Sum,0)-isNull(a.Out_Sum,0)) as 现库存数 '+
' from PlanNum a '+
' left outer join product_rk b on a.planNo=b.plan_id '+
' left outer join mate_ck c on a.planNo=c.plan_id '+
' left outer join mate_basic d on a.mate_code=d.mate_code ';
with ADOQuery_sql do
begin
close;
sql.Clear;
sql.Add(str);
open;
end;
lbl_HuiZong.Caption:=inttostr(ADOQuery_sql.RecordCount)+' 条';
end;
procedure TfrmMateNumPlanQry.btnCloseClick(Sender: TObject);
begin
close;
end;
procedure TfrmMateNumPlanQry.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
action:=cafree;
end;
procedure TfrmMateNumPlanQry.FormCreate(Sender: TObject);
var
i:integer;
begin
dtpfrom.Date:=now;
dtpto.Date:=IncMonth(date(),1);
//
with dm.qry_MateClass do
begin
close;
sql.Clear;
sql.add('select * from MateClass order by MClass_No');
open;
end;
setlength(listLb,dm.qry_MateClass.recordcount);
setlength(listLbmc,dm.qry_MateClass.recordcount);
cbbLb.Items.clear;
cbbLb.Items.add('全部');
for i:=0 to dm.qry_MateClass.recordcount - 1 do
begin
listLb[i]:=trim(dm.qry_MateClass.fieldbyname('MClass_No').asstring);
listLbmc[i]:=trim(dm.qry_MateClass.fieldbyname('MClass_Name').asstring);
cbbLb.items.Add(listLb[i]+' '+listLbmc[i]);
dm.qry_MateClass.next;
end;
end;
procedure TfrmMateNumPlanQry.dtptoExit(Sender: TObject);
begin
if btnClose.focused then
begin
btnClose.OnClick(Sender);
exit;
end;
//
if dtpto.date<dtpfrom.date then
begin
application.MessageBox('终止日期不能小于起始日期','提示',MB_OK+MB_DEFBUTTON1);
dtpto.SetFocus;
exit;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -