📄 main_query_kcsptj.pas
字号:
unit MAIN_QUERY_KCSPTJ;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, MAIN_QUERY, DB, DBTables, ComCtrls, StdCtrls, TFlatComboBoxUnit,
TFlatSpeedButtonUnit, Grids, DBGrids, DsFancyButton, ExtCtrls,myself,frmmain;
type
TFrm_main_query_kcsptj = class(TFrm_main_query)
Label5: TLabel;
CB_type: TFlatComboBox;
procedure FormCreate(Sender: TObject);
procedure CB_goodsChange(Sender: TObject);
procedure SB_queryClick(Sender: TObject);
procedure CB_typeChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SB_printClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Frm_main_query_kcsptj: TFrm_main_query_kcsptj;
implementation
uses PRINT_KCSPTJ, PRINT_TEMP;
{$R *.dfm}
procedure TFrm_main_query_kcsptj.FormCreate(Sender: TObject);
var
B_find:Boolean;
I_temp:integer;
begin
inherited;
self.Caption :='库存商品统计';
with query_temp do
begin
close;
sql.Clear ;
sql.Text :='select name from depot where setid=999';
open;
CB_depot.Items.Clear ;
CB_depot.Style :=csDropDownList;
CB_depot.Items.add('所有');
while not eof do
begin
CB_depot.Items.add(fieldbyname('name').asstring);
next;
end;
close;
sql.Clear ;
sql.text:='select * from goodsmessage order by name';
open;
CB_goods.Items.Clear ;
CB_goods.Style :=csDropDownList;
CB_goods.Items.add('所有');
while not eof do
begin
B_find:=false;
for I_temp:=0 to CB_goods.items.Count-1 do
begin
if CB_goods.Items[I_temp]=fieldbyname('name').asstring then
B_find:=true; //找到相同名称
end;
if not B_find then //没有找到时增加
CB_goods.Items.add(fieldbyname('name').asstring);
next;
end;
close;
end;
end;
procedure TFrm_main_query_kcsptj.CB_goodsChange(Sender: TObject);
begin
inherited;
with query_temp do
begin
close;
sql.Clear ;
sql.text:='select * from goodsmessage where name="'+cb_goods.Text+'" order by type ';
open;
cb_type.Items.Clear ;
cb_type.Style :=csDropDownList;
cb_type.Items.add('所有');
while not eof do
begin
cb_type.Items.add(fieldbyname('type').asstring);
next;
end;
close;
end;
CB_typeChange(sender);
end;
procedure TFrm_main_query_kcsptj.SB_queryClick(Sender: TObject);
var
S_depotname,S_goodsname,S_type:string;
begin
inherited;
if not Checkrights(USERRIGHTS,'查看') then
begin
messagedlg(Errormsg0006+'0007',mterror,[mbok],0);
exit;
end;
S_depotname:=cb_depot.Text ;
S_goodsname:=cb_goods.Text ;
S_type:=cb_type.Text ;
if (S_depotname='') or (S_depotname='所有') then
S_depotname:='%';
if (S_goodsname='') or (S_goodsname='所有') then
S_goodsname:='%';
if (S_type='') or (S_type='所有') then
S_type:='%';
with query_data do
begin
close;
sql.Clear ;
sql.Text :='SELECT Depot.NAME Depotname, Goodsmessage.NAME goodsname, Goodsmessage.TYPE,'
+' Goodsmessage.UNIT, SUM( Kccount.NUMBER ) NUMBER, SUM( Kccount.PRICE * Kccount.NUMBER ) PRICE'
+' FROM Kccount INNER JOIN Depot'
+' ON (Kccount.DEPOTID = Depot.ID) INNER JOIN Goodsmessage'
+' ON (Kccount.GOODSID = Goodsmessage.ID)'
+' where depot.name like "'+S_depotname+'" and goodsmessage.name like "'
+ S_goodsname+'" and goodsmessage.type like "'+S_type+'"'
+' GROUP BY Goodsmessage.NAME,'
+' Goodsmessage.UNIT, Goodsmessage.TYPE, Depot.NAME'
+' ORDER BY Depot.NAME';
try
open;
except
messagedlg(Errormsg0001+'0019',mtError,[mbok],0);
close;
end;
end;
end;
procedure TFrm_main_query_kcsptj.CB_typeChange(Sender: TObject);
begin
inherited;
query_data.Close;
sb_query.Enabled:=true;
end;
procedure TFrm_main_query_kcsptj.FormShow(Sender: TObject);
begin
inherited;
SB_query.Click ;
end;
procedure TFrm_main_query_kcsptj.SB_printClick(Sender: TObject);
begin
inherited;
try
Application.CreateForm(TFrm_print_kcsptj, Frm_print_kcsptj);
Application.CreateForm(TFrm_print_temp, Frm_print_temp);
except
messagedlg(Errormsg0011,mtError,[mbok],0);
exit;
end;
Frm_print_kcsptj.QuickRep_kcsptj.preview;
Frm_print_kcsptj.Free ;
Frm_print_temp.Free ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -