📄 queryscjhunit.pas
字号:
unit QueryscjhUnit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, QueryBassUnit, DB, DBTables, StdCtrls, ComCtrls, Buttons, Grids,
DBGrids, ExtCtrls;
type
TQueryscjhForm = class(TQueryBassForm)
procedure FormCreate(Sender: TObject);
procedure SB_queryClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure SB_printClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
QueryscjhForm: TQueryscjhForm;
implementation
uses FunctionUnit, MainUnit, PrintscjhUnit, PrintBassUnit;
{$R *.dfm}
procedure TQueryscjhForm.FormCreate(Sender: TObject);
begin
inherited;
self.Caption := '商场进货统计';
with query_temp do
begin
close;
sql.Clear;
sql.Text := 'select name from depot where type="外部"';
open;
CB_depot.Items.Clear;
CB_depot.Style := csDropDownList;
CB_depot.Items.Add('所有');
cb_depot.ItemIndex := 0;
while not eof do
begin
CB_depot.Items.add(fieldbyname('name').asstring);
next;
end;
close;
end;
end;
procedure TQueryscjhForm.SB_queryClick(Sender: TObject);
begin
inherited;
if not Checkrights(USERRIGHTS, '查看') then
begin
messagedlg(Errormsg0006 + '0007', mterror, [mbok], 0);
exit;
end;
with query_data do
begin
close;
sql.Clear;
if (cb_depot.Text = '') or (CB_depot.Text = '所有') then
sql.Text := ' SELECT Depot.NAME Depotname,Stockrecord.MYDATE,goods.NAME goodsname,'
+ ' goods.TYPE, goods.UNIT, (Stockrecord.NUMBER) NUMBER,(Stockrecord.PRICE) JHDJ,'
+ ' ( Stockrecord.NUMBER * Stockrecord.PRICE ) PRICE,Stockrecord.MEMO'
+ ' FROM Stockrecord'
+ ' INNER JOIN Depot ON (Stockrecord.DEPOTID = Depot.ID)'
+ ' INNER JOIN goods'
+ ' ON (Stockrecord.GOODSID = goods.ID)'
+ ' WHERE (DEPOT.type="外部")'
+ ' AND (Stockrecord.mydate>="' + formatdatetime('yyyy-mm-dd', DTP_begin.DateTime) + '")'
+ ' AND (Stockrecord.mydate<="' + formatdatetime('yyyy-mm-dd', dtp_end.DateTime) + '")'
+ ' UNION ALL'
+ ' SELECT Depot.NAME Depotname,Threcord.MYDATE,goods.NAME goodsname,'
+ ' goods.TYPE, goods.UNIT, (0-Threcord.NUMBER) NUMBER,(Threcord.PRICE) JHDJ,'
+ ' ( (0 - Threcord.NUMBER) * Threcord.PRICE ) PRICE,Threcord.MEMO'
+ ' FROM Threcord'
+ ' INNER JOIN Depot ON (Threcord.DEPOTID = Depot.ID)'
+ ' INNER JOIN goods'
+ ' ON (Threcord.GOODSID = goods.ID)'
+ ' WHERE (DEPOT.type="外部")'
+ ' AND (Threcord.mydate>="' + formatdatetime('yyyy-mm-dd', DTP_begin.DateTime) + '")'
+ ' AND (Threcord.mydate<="' + formatdatetime('yyyy-mm-dd', dtp_end.DateTime) + '")'
+ ' ORDER BY Depot.NAME,MYDATE'
else
sql.Text := ' SELECT Depot.NAME Depotname,Stockrecord.MYDATE,goods.NAME goodsname,'
+ ' goods.TYPE, goods.UNIT, (Stockrecord.NUMBER) NUMBER,(Stockrecord.PRICE) JHDJ,'
+ ' ( Stockrecord.NUMBER * Stockrecord.PRICE ) PRICE,Stockrecord.MEMO'
+ ' FROM Stockrecord'
+ ' INNER JOIN Depot ON (Stockrecord.DEPOTID = Depot.ID)'
+ ' INNER JOIN goods'
+ ' ON (Stockrecord.GOODSID = goods.ID)'
+ ' WHERE (DEPOT.name="' + cb_DEPOT.Text + '")'
+ ' AND (Stockrecord.mydate>="' + formatdatetime('yyyy-mm-dd', DTP_begin.DateTime) + '")'
+ ' AND (Stockrecord.mydate<="' + formatdatetime('yyyy-mm-dd', dtp_end.DateTime) + '")'
+ ' UNION ALL'
+ ' SELECT Depot.NAME Depotname,Threcord.MYDATE,goods.NAME goodsname,'
+ ' goods.TYPE, goods.UNIT, (0-Threcord.NUMBER) NUMBER,(Threcord.PRICE) JHDJ,'
+ ' (( 0 - Threcord.NUMBER) * Threcord.PRICE ) PRICE,Threcord.MEMO'
+ ' FROM Threcord'
+ ' INNER JOIN Depot ON (Threcord.DEPOTID = Depot.ID)'
+ ' INNER JOIN goods'
+ ' ON (Threcord.GOODSID = goods.ID)'
+ ' WHERE (DEPOT.name="' + cb_DEPOT.Text + '")'
+ ' AND (Threcord.mydate>="' + formatdatetime('yyyy-mm-dd', DTP_begin.DateTime) + '")'
+ ' AND (Threcord.mydate<="' + formatdatetime('yyyy-mm-dd', dtp_end.DateTime) + '")'
+ ' ORDER BY Depot.NAME,MYDATE';
try
open;
except
messagedlg(Errormsg0001 + '0010+0012+0020+0025', mtError, [mbok], 0);
close;
end;
end;
end;
procedure TQueryscjhForm.FormShow(Sender: TObject);
begin
inherited;
sb_query.Click;
end;
procedure TQueryscjhForm.SB_printClick(Sender: TObject);
begin
inherited;
try
Application.CreateForm(TPrintscjhForm, PrintscjhForm);
// Application.CreateForm(TprintBassForm, printBassForm);
except
messagedlg(Errormsg0011, mtError, [mbok], 0);
exit;
end;
PrintscjhForm.QuickRep_scjhmx.preview;
PrintscjhForm.Free;
// printBassForm.Free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -