ufrm_stock_report.pas
来自「完整的进销存系统。 设计文件及完整的源代码。 Delphi6.0」· PAS 代码 · 共 245 行
PAS
245 行
unit Ufrm_stock_report;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ufrm_level1, ExtCtrls, StdCtrls, Buttons, dxCntner, dxEditor,
dxExEdtr, dxEdLib, DateUtils, ppModule, raCodMod, ppBands, ppCtrls,
ppVar, ppPrnabl, ppClass, ppCache, ppProd, ppReport, ppComm, ppRelatv,
ppDB, ppDBPipe, ppDBBDE, DB, DBTables;
type
Tfrm_stock_report = class(Tfrm_level1)
Panel1: TPanel;
Panel2: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
dxButtonEdit1: TdxButtonEdit;
dxButtonEdit2: TdxButtonEdit;
dxButtonEdit3: TdxButtonEdit;
dxButtonEdit4: TdxButtonEdit;
Label3: TLabel;
Label4: TLabel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Label5: TLabel;
dxDateEdit1: TdxDateEdit;
dxDateEdit2: TdxDateEdit;
Label6: TLabel;
qy_rep: TQuery;
ds_rep: TDataSource;
ppBDEPipeline1: TppBDEPipeline;
rep: TppReport;
qy_repGOODSNO: TStringField;
qy_repLOCATION: TStringField;
qy_repUNIT: TStringField;
qy_repSTOCKQTY: TFloatField;
qy_repMEMO: TStringField;
qy_repRESINDATE: TDateTimeField;
qy_repRESOUTDATE: TDateTimeField;
qy_repACTI: TStringField;
qy_repOWUS: TStringField;
qy_repGRUP: TStringField;
qy_repCRET: TDateTimeField;
qy_repMODU: TStringField;
qy_repMODT: TDateTimeField;
ppTitleBand1: TppTitleBand;
ppLabel1: TppLabel;
ppHeaderBand1: TppHeaderBand;
ppLabel2: TppLabel;
ppLabel5: TppLabel;
ppLabel6: TppLabel;
ppLabel8: TppLabel;
ppLine1: TppLine;
ppLine2: TppLine;
ppSystemVariable1: TppSystemVariable;
ppLabel3: TppLabel;
ppLabel7: TppLabel;
ppDetailBand1: TppDetailBand;
ppDBText2: TppDBText;
ppDBText4: TppDBText;
ppDBText5: TppDBText;
ppDBText6: TppDBText;
ppDBText1: TppDBText;
ppFooterBand1: TppFooterBand;
ppLine3: TppLine;
ppSystemVariable3: TppSystemVariable;
raCodeModule1: TraCodeModule;
Query1: TQuery;
procedure dxButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure dxButtonEdit2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure dxButtonEdit3ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure dxButtonEdit4ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
procedure FormCreate(Sender: TObject);
procedure dxButtonEdit1Change(Sender: TObject);
procedure dxButtonEdit3Change(Sender: TObject);
procedure dxDateEdit1Change(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
function select_textone(xCaption,sSQL,xDataBaseName: string;iFindKey:integer; iColWidth: array of Integer):string;
public
{ Public declarations }
end;
var
frm_stock_report: Tfrm_stock_report;
implementation
uses uSelect_Form, ufrm_report,udm;
{$R *.dfm}
function Tfrm_stock_report.select_textOne(xCaption: string;sSQL: string;xDataBaseName: string;iFindKey:integer; iColWidth: array of Integer):string;
var
i: Integer;
begin
Result := '';
Select_Form := TSelect_Form.Create(Application);
try
with Select_Form,Select_Form.Query1 do begin
DatabaseName := xDataBaseName;
Caption := xCaption;
SQL.Clear;
SQL.Add(sSQL);
Open;
if Length(iColWidth) > 0 then
begin
for i:=0 to High(iColWidth) do
if iColWidth[i]=0 then
DBGrid1.Columns[i].Visible := False
else
DBGrid1.Columns[i].Width := iColWidth[i];
end;
if NOT Query1.CanModify then
begin
DBNavPlus1.Width:=Trunc(DBNavPlus1.Width/2);
end;
if ShowModal = mrOk then
result := Query1.fields[ifindKey].AsString;
end;//end of with
finally
Select_Form.Free;
end;//end of try
end;
procedure Tfrm_stock_report.dxButtonEdit1ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var s:string ;
begin
inherited;
S := 'SELECT T_GOODSSTOCK.GOODSNO 货品编号 FROM T_GOODSSTOCK WHERE 0=0 ';
dxButtonEdit1.Text :=select_textOne('Select GOODSNO',s,'JXC_CSD',0,[]);
end;
procedure Tfrm_stock_report.dxButtonEdit2ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var s:string ;
begin
inherited;
S := 'SELECT T_GOODSSTOCK.GOODSNO 货品编号 FROM T_GOODSSTOCK WHERE 0=0 ';
dxButtonEdit2.Text :=select_textOne('Select GOODSNO',s,'JXC_CSD',0,[]);
end;
procedure Tfrm_stock_report.dxButtonEdit3ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var s:string ;
begin
inherited;
s := 'SELECT T_GOODSSTOCK.LOCATION 存储位置 FROM T_GOODSSTOCK WHERE 0=0 ';
dxButtonEdit3.Text :=select_textOne('SELECT GOODSNO',s,'JXC_CSD',0,[]);
end;
procedure Tfrm_stock_report.dxButtonEdit4ButtonClick(Sender: TObject;
AbsoluteIndex: Integer);
var s:string ;
begin
inherited;
s := 'SELECT T_GOODSSTOCK.LOCATION 存储位置 FROM T_GOODSSTOCK WHERE 0=0 ';
dxButtonEdit4.Text :=select_textOne('SELECT GOODSNO',s,'JXC_CSD',0,[]);
end;
procedure Tfrm_stock_report.FormCreate(Sender: TObject);
begin
inherited;
query1.DatabaseName := dm.connection.DatabaseName;
query1.SQL.Clear ;
query1.SQL.Add('SELECT MIN(CRET) FROM T_GOODSSTOCK ');
try query1.Open ;
if not query1.Eof then
dxDateEdit1.date := query1.Fields[0].AsDateTime ;
except
end;
query1.close;
// dxDateEdit1.Date := today ;
dxDateEdit2.Date := today ;
end;
procedure Tfrm_stock_report.dxButtonEdit1Change(Sender: TObject);
begin
inherited;
if (dxButtonEdit1.Text <> '') and (dxButtonEdit2.Text='') then
dxButtonEdit2.Text := dxButtonEdit1.Text ;
end;
procedure Tfrm_stock_report.dxButtonEdit3Change(Sender: TObject);
begin
inherited;
if (dxButtonEdit3.Text <> '') and (dxButtonEdit4.Text='') then
dxButtonEdit4.Text := dxButtonEdit3.Text ;
end;
procedure Tfrm_stock_report.dxDateEdit1Change(Sender: TObject);
begin
inherited;
if (dxDateEdit1.Text <> '') and (dxDateEdit2.Date < dxDateEdit1.Date) then
dxDateEdit2.Date := dxDateEdit1.Date ;
end;
procedure Tfrm_stock_report.BitBtn1Click(Sender: TObject);
var sql,l_wc1,l_wc2,l_wc3:string ;
begin
inherited;
if (dxButtonEdit1.Text <> '') AND (dxButtonEdit2.Text <> '' ) then
l_wc1 := ' GOODSNO BETWEEN '+#39+ dxButtonEdit1.Text+#39+' AND '+#39+dxButtonEdit2.Text + #39 ;
if (dxButtonEdit3.Text <> '') and (dxButtonEdit4.Text <> '' ) then
l_wc2 := ' LOCATION BETWEEN '+#39+dxButtonEdit3.Text+#39+' AND '+#39+dxButtonEdit4.Text + #39 ;
if (dxDateEdit1.Text <> '') and (dxDateEdit2.Text <> '' ) then
l_wc3 := ' CRET BETWEEN '+#39+dxDateEdit1.Text+#39+' AND '+#39+dxDateEdit2.Text + #39 ;
sql := ' SELECT * FROM T_GOODSSTOCK WHERE 1=1 ' ;
if l_wc1 <> '' then
sql := sql + ' AND '+ l_wc1 ;
if l_wc2 <> '' then
sql := sql + ' AND '+ l_wc2 ;
if l_wc3 <> '' then
sql := sql + ' AND '+ l_wc3 ;
qy_rep.Close ;
qy_rep.SQL.Clear ;
qy_rep.SQL.Add(sql) ;
try qy_rep.Open ;
except ;
end ;
Application.CreateForm(Tfrm_report, frm_report);
frm_report.ppViewer1.Report:=rep;
frm_report.ShowModal;
frm_report.Free;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?