📄 sj_kccx.pas
字号:
{*******************************************************}
{ }
{ 库存查询 }
{ }
{ 中软金马公司版权所有。2002.12前 }
{ }
{ 编制:中软金马项目开发组 }
{ }
{ }
{*******************************************************}
(*
本模块在省级库房管理模块 集邮票、零枚票、集邮品、市场购入票四部分的库存查询菜单 调用。
*)
unit sj_kccx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Grids, DBGrids, Buttons, ExtCtrls, StdCtrls, ActnList, Db, DBTables,
ComCtrls, ImgList, Spin, RXCtrls, SqlStrings, RxQuery, DBGridExport,
Menus, clipbrd;
type
TFrm_kccx = class(TForm)
GroupBox1: TGroupBox;
DBGid_kc: TDBGrid;
CBo_kfmc: TComboBox;
Label1: TLabel;
Label2: TLabel;
CBo_ppmc: TComboBox;
BitBtn1: TBitBtn;
ActionList1: TActionList;
Act_sel: TAction;
Act_rtn: TAction;
DS_kc: TDataSource;
BitBtn2: TBitBtn;
Label3: TLabel;
Edit1: TEdit;
Panel2: TPanel;
XttxTitle: TRxLabel;
DWMC: TLabel;
Label4: TLabel;
Panel3: TPanel;
RxQry: TRxQuery;
SqlStrings1: TSqlStrings;
SqlStrings2: TSqlStrings;
RxQuery1: TRxQuery;
PM_Exp: TPopupMenu;
MI_Exc: TMenuItem;
N2: TMenuItem;
MI_txt: TMenuItem;
DBGE_rkd: TDBGridExport;
procedure Act_selExecute(Sender: TObject);
procedure Act_rtnExecute(Sender: TObject);
procedure CBo_kfmcChange(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure RxQryAfterOpen(DataSet: TDataSet);
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure MI_ExcClick(Sender: TObject);
procedure MI_txtClick(Sender: TObject);
private
{ Private declarations }
vlp_sl_kfdm: TStringList;
vlp_sl_ppdm: TStringList;
Fio_Type: TIO_TYPE;
public
{ Public declarations }
end;
function Execute(io_typ: TIO_TYPE; const DB: TDatabase): boolean;
var
Frm_kccx: TFrm_kccx;
implementation
uses datas,Pub;
{$R *.DFM}
function Execute(io_typ: TIO_TYPE; const DB: TDatabase): boolean;
begin
Result := false;
if not Assigned(DB) then
exit;
Application.CreateForm(TFrm_kccx, Frm_kccx);
with Frm_kccx do
try
FIO_type := io_typ;
Caption := '邮资票品管理信息系统——库房管理';
XttxTitle.Caption := pCaption[integer(FIO_type)] + '库存查询';
DWMC.Caption := '使用单位:' + VG_UnitName;
rxQry.SQL := SqlStrings1.FSqlText[FIO_type];
CBo_kfmc.Items.Clear;
CBo_kfmc.Items.Add('全部');
if Assigned(vlp_sl_kfdm) then
vlp_sl_kfdm.Destroy;
vlp_sl_kfdm := TStringList.Create;
vlp_sl_kfdm.Add('a.KFDM');
CBo_kfmc.ItemIndex := 0;
try
rxQry.Close;
rxQry.DatabaseName := DB.DatabaseName;
with rxQuery1 do
begin
Close;
DatabaseName := DB.DatabaseName;
SQL.Clear;
SQL.Add('select a.KFDM,b.KFMC from TGS_KFRYDZB a, TGS_KFB b where a.KFDM=b.KFDM and a.YGDM=''' + VG_USERID + ''' order by a.KFDM');
Open;
while not Eof do
begin
CBo_kfmc.Items.Add(FieldByName('KFMC').AsString);
vlp_sl_kfdm.Add('''' + FieldByName('KFDM').AsString + '''');
Next;
end;
CBo_kfmc.ItemIndex := 0;
CBo_kfmcChange(nil);
end;
except
CHQMsgBox('不能打开 <库存信息表>');
exit;
end;
result := ShowModal = MB_OK;
finally
free;
end;
end;
procedure TFrm_kccx.Act_selExecute(Sender: TObject);
begin
if cbo_kfmc.Items.Count = 1 then
begin
CHQMsgBox('对不起,您没有任何库房的权限');
exit;
end;
with rxQry do
begin
Close;
MacroByName('KFDM').AsString := vlp_sl_kfdm[CBo_kfmc.ItemIndex];
MacroByName('PPDM').AsString := vlp_sl_ppdm[CBo_ppmc.ItemIndex];
ParamByName('YGDM').AsString := VG_USERID;
clipboard.astext := sql.text;
Open;
end;
DBGid_kc.Columns[1].Visible := (CBo_kfmc.ItemIndex = 0);
DBGid_kc.Columns[3].Visible := (CBo_ppmc.ItemIndex = 0);
end;
procedure TFrm_kccx.Act_rtnExecute(Sender: TObject);
begin
rxQuery1.Close;
Close;
end;
procedure TFrm_kccx.CBo_kfmcChange(Sender: TObject);
begin
CBo_ppmc.Items.Clear;
CBo_ppmc.Items.Add('全部' + pCaption[integer(FIO_type)]);
if Assigned(vlp_sl_ppdm) then
vlp_sl_ppdm.Destroy;
vlp_sl_ppdm := TStringList.Create;
case Fio_TYPE of
io_txp:
vlp_sl_ppdm.Add('a.PPDM');
else
vlp_sl_ppdm.Add('a.PPDM');
end;
with rxQuery1 do
begin
Close;
{ SQL.Clear;
SQL.Add('select distinct a.PPDM, b.TMC,c.mc from TKS_JYPPKC a, TB_YZPPTXXB b, TG_YZPPTZDM c ' +
'where b.TDM=a.PPDM and b.tz=c.tzdm and a.KFDM=' + vlp_sl_kfdm[CBo_kfmc.ItemIndex]);
}
SQL := SqlStrings2.FSqlText[FIO_type];
MacroByName('KFDM').AsString := vlp_sl_kfdm[CBo_kfmc.ItemIndex];
Open;
while not Eof do
begin
case Fio_TYPE of
io_txp, io_yp:
CBo_ppmc.Items.Add(FieldByName('TMC').AsString);
else
CBo_ppmc.Items.Add(FieldByName('TMC').AsString + '(' + FieldByName('TZMC').AsString + ')');
end;
vlp_sl_ppdm.Add('''' + FieldByName('PPDM').AsString + '''');
Next;
end;
end;
CBo_ppmc.ItemIndex := 0;
end;
procedure TFrm_kccx.Edit1Change(Sender: TObject);
begin
if not RxQry.Active then
exit;
if Edit1.Text <> '' then
RxQry.Locate('ZH', Edit1.Text, [loCaseInsensitive, loPartialKey]);
end;
procedure TFrm_kccx.RxQryAfterOpen(DataSet: TDataSet);
begin
TNumericField(DataSet.FieldByName('TS')).DisPlayFormat := '#,##';
end;
procedure TFrm_kccx.FormCreate(Sender: TObject);
begin
GetAllColWidth(Self);
end;
procedure TFrm_kccx.FormClose(Sender: TObject; var Action: TCloseAction);
begin
SaveAllColWidth(Self);
end;
procedure TFrm_kccx.MI_ExcClick(Sender: TObject);
begin
DBGE_rkd.Export_To_Excel(DBGid_kc);
end;
procedure TFrm_kccx.MI_txtClick(Sender: TObject);
begin
DBGE_rkd.Export_To_Txt(DBGid_kc);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -