xmflbgrep.pas
来自「日昌餐饮管理系统是用Delphi7+SQL写的管理系统」· PAS 代码 · 共 175 行
PAS
175 行
unit xmflbgrep;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, Grids, DBGrids, ADODB, StdCtrls, Buttons, ExtCtrls, ComCtrls,
QuickRpt, QRCtrls;
type
TxmflFrm = class(TForm)
DetailDS: TDataSource;
Shape1: TShape;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
Label2: TLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
Panel1: TPanel;
QuickRep1: TQuickRep;
PageHeaderBand1: TQRBand;
ColumnHeaderBand1: TQRBand;
DetailBand1: TQRBand;
QRLabel1: TQRLabel;
QRLabel3: TQRLabel;
QRLabel4: TQRLabel;
QRLabel5: TQRLabel;
QRLabel6: TQRLabel;
QRLabel7: TQRLabel;
QRLabel8: TQRLabel;
QRLabel9: TQRLabel;
QRLabel10: TQRLabel;
QRLabel11: TQRLabel;
QRLabel12: TQRLabel;
QRLabel25: TQRLabel;
QRLabel26: TQRLabel;
QRLabel29: TQRLabel;
QRDBText1: TQRDBText;
QRSysData1: TQRSysData;
DetailDtSt: TADODataSet;
mainDtSt: TADODataSet;
mainDS: TDataSource;
mainDtStlb: TStringField;
mainDtStDSDesigner: TStringField;
DetailDtStlb: TStringField;
DetailDtStbh: TStringField;
DetailDtStDSDesigner4: TBCDField;
DetailDtStDSDesigner5: TIntegerField;
DetailDtStDSDesigner6: TIntegerField;
DetailDtStDSDesigner7: TIntegerField;
DetailDtStDSDesigner8: TIntegerField;
QRDBText2: TQRDBText;
QRSubDetail1: TQRSubDetail;
QRDBText21: TQRDBText;
QRShape1: TQRShape;
DetailDtStDSDesigner9: TStringField;
QRDBText22: TQRDBText;
QRDBText3: TQRDBText;
QRDBText4: TQRDBText;
QRDBText5: TQRDBText;
QRDBText6: TQRDBText;
QRDBText7: TQRDBText;
QRDBText8: TQRDBText;
QRDBText9: TQRDBText;
QRDBText10: TQRDBText;
QRSysData2: TQRSysData;
Panel2: TPanel;
DBGrid2: TDBGrid;
DBGrid1: TDBGrid;
Splitter1: TSplitter;
QRShape2: TQRShape;
QRBand1: TQRBand;
QRShape3: TQRShape;
QRLabel2: TQRLabel;
QRExpr1: TQRExpr;
QRExpr2: TQRExpr;
QRExpr3: TQRExpr;
QRExpr4: TQRExpr;
SummaryBand1: TQRBand;
QRLabel13: TQRLabel;
QRShape4: TQRShape;
QRExpr5: TQRExpr;
QRExpr6: TQRExpr;
QRLabel14: TQRLabel;
QRExpr7: TQRExpr;
QRExpr8: TQRExpr;
QRExpr9: TQRExpr;
DetailDtStDSDesigner: TBCDField;
DetailDtStDSDesigner2: TBCDField;
DetailDtStDSDesigner3: TBCDField;
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure QRLabel29Print(sender: TObject; var Value: String);
procedure FormActivate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
xmflFrm: TxmflFrm;
implementation
uses rjsmain;
{$R *.dfm}
procedure TxmflFrm.BitBtn1Click(Sender: TObject);
begin
screen.Cursor := crHourGlass;
try
DateTimePicker1.Time := DateTimePicker2.Time;
DateTimePicker3.Time := DateTimePicker4.Time;
mainDtSt.active := false;
mainDtSt.Parameters.ParamByName('ksrqcs').Value := DateTimePicker1.DateTime;
mainDtSt.Parameters.ParamByName('jzrqcs').Value := DateTimePicker3.DateTime;
mainDtSt.active := true;
detailDtSt.active := false;
detailDtSt.CommandText := 'Select lb,bh,';
detailDtSt.CommandText := detailDtSt.CommandText+'"项目名称"=(Select mc from cdwj where bh=a.bh),';
detailDtSt.CommandText := detailDtSt.CommandText+'"堂吃数量" =(Select sum(sl) from dcd where bh=a.bh and wmbz=0 and zfbz=0),';
detailDtSt.CommandText := detailDtSt.CommandText+'"外买数量" =(Select sum(sl) from dcd where bh=a.bh and wmbz=1 and zfbz=0),';
detailDtSt.CommandText := detailDtSt.CommandText+'"总数"=(Select sum(sl) from dcd where bh=a.bh and zfbz=0),';
detailDtSt.CommandText := detailDtSt.CommandText+'"销售额"=(Select sum(je) from dcd where bh=a.bh and zfbz=0),';
detailDtSt.CommandText := detailDtSt.CommandText+'"销售%"=0,"单位成本"=0,"成本"=0,"占总成本"=0 from dcd a ';
detailDtSt.CommandText := detailDtSt.CommandText+'where lb is not Null and bh is not Null and rq between '+''''+datetimetostr(DateTimePicker1.datetime)+''''+' and '+''''+datetimetostr(DateTimePicker3.datetime)+'''';
detailDtSt.CommandText := detailDtSt.CommandText+'group by lb,bh';
detailDtSt.active := true;
finally
screen.Cursor := crDefault;
end;
end;
procedure TxmflFrm.BitBtn2Click(Sender: TObject);
begin
if (not MainDtSt.Active)or(MainDtSt.IsEmpty) then
Exit;
messagedlg('请插入A4纸,设定打印机,纸张为“横向”输出!',mtinformation,[mbok],0);
quickrep1.Preview;
end;
procedure TxmflFrm.BitBtn3Click(Sender: TObject);
begin
close;
end;
procedure TxmflFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MainDtSt.Active then
MainDtSt.Active := false;
end;
procedure TxmflFrm.QRLabel29Print(sender: TObject; var Value: String);
begin
Value := '时段'+datetimetostr(DateTimePicker1.DateTime)+'至'+datetimetostr(datetimepicker3.DateTime);
end;
procedure TxmflFrm.FormActivate(Sender: TObject);
begin
datetimepicker1.Date:=date;
datetimepicker3.Date:=date;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?