📄 fmqrystocku.pas
字号:
unit FMQryStockU;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, FMBaseQryU, ImgList, DB, ADODB, ComCtrls, ToolWin, ExtCtrls,
Grids, DBGrids, StdCtrls, DBCtrls, Provider, DBClient, dxdbtrel;
type
TFMQryStock = class(TFMBaseQry)
Panel1: TPanel;
DataGrid: TDBGrid;
Label4: TLabel;
adoData: TADOQuery;
dsData: TDataSource;
adoClass: TADOQuery;
dsClass: TDataSource;
dbClient: TDataSource;
dxfClass: TdxDBLookupTreeView;
chStock: TCheckBox;
cdsData: TADOQuery;
cdsDatafproductno: TWideStringField;
cdsDatafproductname: TWideStringField;
cdsDatafspec: TWideStringField;
cdsDatafsaleunit: TWideStringField;
cdsDatafqty: TFloatField;
cdsDatafStockUp: TSmallintField;
cdsDatafStockDown: TSmallintField;
procedure FormCreate(Sender: TObject);
procedure btnQueryClick(Sender: TObject);
procedure btnExcleClick(Sender: TObject);
procedure dxfClassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
public
{ Public declarations }
aCompany,aUserId :string ;
end;
var
FMQryStock: TFMQryStock;
implementation
{$R *.dfm}
procedure TFMQryStock.FormCreate(Sender: TObject);
begin
inherited;
adoData.Active :=false ;adoData.Active :=true ;
adoClass.Active :=false ;adoClass.Active :=true ;
end;
procedure TFMQryStock.btnQueryClick(Sender: TObject);
var
SQL :string ;
Save_Cursor:TCursor;
begin
inherited;
SQL:='SELECT c.fproductno, c.fproductname,c.fspec,c.fsaleunit,a.fqty,c.fStockUp,c.fStockDown'
+' FROM tb_stock AS a, ts_item AS c '
+' WHERE a.fproductid=c.fproductid ' ;
if adoData.FieldByName('fClassNo').AsString <>'' then
SQL :=SQL+ ' and c.fClass like '+#39+adoData.fieldByName('fClassNo').AsString+'%'+#39 ;
if chStock.Checked then
SQL :=SQL + ' and a.fqty<b.fStockDown' ;
SQL :=SQL +' order BY fproductno ';
Save_Cursor := Screen.Cursor;
Screen.Cursor := crSQLWait;
try
cdsData.Active :=false ;
cdsData.SQL.Text :=SQL ;
cdsData.Active :=true ;
finally
Screen.Cursor := Save_Cursor;
end ;
end;
procedure TFMQryStock.btnExcleClick(Sender: TObject);
begin
inherited;
if not cdsData.Active then exit ;
if DataGrid.DataSource.DataSet.RecordCount =0 then exit ;
sCCompanyName :=aCompany ;
SaveExcel('当前库存报表','统计日期:'+DateToStr(Date()),DataGrid);
end;
procedure TFMQryStock.dxfClassKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=46 then adoData.FieldByName('fClassNo').AsString :='';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -