📄 stocklimit.pas
字号:
{*************************************************************
文件名: StockLimit.pas
Copyright (c) 2000-2001 万达信息温州分公司技术开发部
创建人: 娄恩武
日 期: 2001-12-14
修改人: 娄恩武
日 期: 2001-12-14
描 述: 库存限量设置
版 本: 1.00
*************************************************************}
unit StockLimit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
base, Db, Grids, DBGrids, StdCtrls, ExtCtrls, ComCtrls, ToolWin, ImgList,
ADODB;
type
TFrm_StockLimit = class(TFrm_Base)
tlbBill: TToolBar;
tblSave: TToolButton;
tblCancel: TToolButton;
ToolButton5: TToolButton;
tblPreview: TToolButton;
tblPrint: TToolButton;
ToolButton9: TToolButton;
tblHelp: TToolButton;
ToolButton16: TToolButton;
tblClose: TToolButton;
pnlMain: TPanel;
Label4: TLabel;
Label2: TLabel;
edtDrugId: TEdit;
dbgList: TDBGrid;
ds_List: TDataSource;
cbStoreName: TComboBox;
ilBill: TImageList;
Label1: TLabel;
ADOQ_StockLimit: TADOQuery;
ADOQ_StockLimitquantily: TBCDField;
ADOQ_StockLimitminqty: TBCDField;
ADOQ_StockLimitmaxqty: TBCDField;
ADOQ_StockLimitdrug_id: TStringField;
ADOQ_StockLimitdrug_name: TStringField;
ADOQ_StockLimitdrug_regu: TStringField;
ADOQ_StockLimitdrug_unit: TStringField;
ADOQ_StockLimitstore_name: TStringField;
ADOQ_StockLimitdrug_helpcode: TStringField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure edtDrugIdClick(Sender: TObject);
procedure tblSaveClick(Sender: TObject);
procedure tblCancelClick(Sender: TObject);
procedure edtDrugIdChange(Sender: TObject);
procedure tblCloseClick(Sender: TObject);
procedure dbgListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
{ Private declarations }
ADOQ_Temp:TADOQuery;
public
{ Public declarations }
end;
var
Frm_StockLimit: TFrm_StockLimit;
implementation
uses database;
{$R *.DFM}
{-------------------------------------------
模块初始化处理
-------------------------------------------}
procedure TFrm_StockLimit.FormCreate(Sender: TObject);
begin
inherited;
ADOQ_Temp :=TADOQUERY.Create(self);
ADOQ_Temp.Connection :=DataModule1.ADOConnection1;
//
ADOQ_StockLimit.close;
ADOQ_StockLimit.open ;
ADOQ_StockLimit.Edit;
// 初始化仓库选择列表框
with ADOQ_Temp do
begin
close;
SQL.Clear;
SQL.Add('SELECT StoreName From Store');
Open;
while not eof do
begin
cbStoreName.Items.Add(FieldByName('StoreName').AsString);
Next;
end;
close;
end;
cbStoreName.ItemIndex:= 0;
end;
{-------------------------------------------
释放变量
-------------------------------------------}
procedure TFrm_StockLimit.FormClose(Sender: TObject; var Action: TCloseAction);
begin
inherited;
ADOQ_Temp.Close;
ADOQ_Temp:=nil;
ADOQ_StockLimit.Close;
Tcomponent(Frm_StockLimit):=nil;
end;
procedure TFrm_StockLimit.edtDrugIdClick(Sender: TObject);
begin
inherited;
edtDrugId.SelectAll;
end;
procedure TFrm_StockLimit.tblSaveClick(Sender: TObject);
begin
inherited;
ADOQ_StockLimit.UpdateBatch;
ADOQ_StockLimit.Edit;
end;
procedure TFrm_StockLimit.tblCancelClick(Sender: TObject);
begin
inherited;
ADOQ_StockLimit.CancelBatch;
ADOQ_StockLimit.Edit;
end;
procedure TFrm_StockLimit.edtDrugIdChange(Sender: TObject);
var
strWhere :string;
begin
inherited;
strWhere := '';
// 构造SQL条件
if trim(edtDrugID.text)<>'' then
strWhere := strWhere + '('+' Drug_Helpcode like '+'''%'+edtDrugID.text+'%'''+' OR '+' Drug_Id like '+'''%'+edtDrugID.text+'%'''+')'+' AND ';
if trim(cbStoreName.text)<>'所有仓库' then
strWhere := strWhere + '('+' Store_Name='+''''+cbStoreName.text+''''+')'+' AND ';
//
if strWhere<>'' then
strWhere :=copy( strWhere,0,Length(strWhere)-5 );
// 过滤查询
if strWhere='' then
begin
ADOQ_StockLimit.Filtered:=false;
end
else
begin
ADOQ_StockLimit.Filtered:=true;
ADOQ_StockLimit.Filter:=strWhere;
end;
end;
procedure TFrm_StockLimit.tblCloseClick(Sender: TObject);
begin
inherited;
close;
end;
procedure TFrm_StockLimit.dbgListKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
// ------------- 回车键处理 --------------
if key=VK_RETURN then
begin
if dbgList.SelectedIndex=dbgList.Columns.Count-1 THEN
begin
dbgList.SelectedIndex := 0;
end
else
begin
dbgList.SelectedIndex := dbgList.SelectedIndex + 1;
end;
end
// ------------- 向下方向键处理 --------------
else if key=VK_DOWN then
begin
if ADOQ_StockLimit.RecNo=ADOQ_StockLimit.RecordCount then
begin
ADOQ_StockLimit.Prior;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -