📄 queryspfbunit.pas
字号:
unit QueryspfbUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QueryBassUnit, DB, DBTables, StdCtrls, ComCtrls, Buttons, Grids,
DBGrids, ExtCtrls;
type
TQueryspfbForm = class(TQueryBassForm)
DBG_GOODS: TDBGrid;
DBG_temp: TDBGrid;
DataSourceTemp: TDataSource;
DataSourceGoods: TDataSource;
Query_Goods: TQuery;
procedure FormCreate(Sender: TObject);
procedure FormResize(Sender: TObject);
procedure SB_printClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QueryspfbForm: TQueryspfbForm;
implementation
uses PrintspfbUnit, PrintBassUnit, FunctionUnit;
{$R *.dfm}
procedure TQueryspfbForm.FormCreate(Sender: TObject);
begin
inherited;
self.Caption := '商品分布统计';
Query_GOODS.DatabaseName := 'CPXSGL';
with query_temp do //商品按名称分组查询
begin
close;
sql.Clear;
sql.Text := 'SELECT NAME from goods GROUP BY NAME ORDER BY NAME';
end;
with query_goods do //查询单个分组下的商品信息
begin
close;
sql.Clear;
sql.Text := 'SELECT * from goods Where NAME=:"NAME"';
end;
with query_data do //查询指定商品的库存状况
begin
close;
sql.Clear;
sql.Text := 'SELECT goods.NAME goodsname, goods.TYPE, Depot.NAME depotname,'
+ ' Storagerecord.NUMBER, goods.UNIT, Storagerecord.PRICE DJ,'
+ ' sum(Storagerecord.NUMBER*Storagerecord.PRICE) PRICE FROM Storagerecord'
+ ' INNER JOIN Depot ON (Storagerecord.DEPOTID = Depot.ID)'
+ ' INNER JOIN goods ON (Storagerecord.GOODSID = goods.ID)'
+ ' WHERE goods.ID =:"ID"'
+ ' GROUP BY Depot.NAME, goods.NAME, goods.TYPE, Storagerecord.NUMBER,'
+ ' goods.UNIT, Storagerecord.PRICE';
end;
try
query_temp.open;
query_goods.open;
query_data.open;
except
messagedlg(Errormsg0001 + '0012+0019', mtError, [mbok], 0);
query_data.close;
query_goods.close;
query_temp.close;
end;
end;
procedure TQueryspfbForm.FormResize(Sender: TObject);
var
I_col: integer;
begin
inherited;
if DBG_temp.Columns.Count >= 1 then
begin
for I_col := 0 to DBG_temp.Columns.Count - 2 do
begin
DBG_temp.Columns.Items[I_col].Width := DBG_temp.Width div (DBG_temp.Columns.Count);
end;
DBG_temp.Columns.Items[DBG_temp.Columns.Count - 1].Width := DBG_temp.Width div (DBG_temp.Columns.Count) - 30;
end;
if DBG_goods.Columns.Count >= 1 then
begin
for I_col := 0 to DBG_goods.Columns.Count - 2 do
begin
DBG_goods.Columns.Items[I_col].Width := DBG_goods.Width div (DBG_goods.Columns.Count);
end;
DBG_goods.Columns.Items[DBG_goods.Columns.Count - 1].Width := DBG_goods.Width div (DBG_goods.Columns.Count) - 32;
end;
end;
procedure TQueryspfbForm.SB_printClick(Sender: TObject);
begin
inherited;
try
Application.CreateForm(TPrintspfbForm, PrintspfbForm);
Application.CreateForm(TprintBassForm, printBassForm);
except
messagedlg(Errormsg0011, mtError, [mbok], 0);
exit;
end;
PrintspfbForm.QuickRep_spfb.preview;
PrintspfbForm.Free;
printBassForm.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -