📄 xfmxcxunit.pas
字号:
unit xfmxcxUnit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, Grids, DBGrids, Buttons, ExtCtrls, Db, DBTables,
Menus;
type
TJZmxcxForm = class(TForm)
Panel1: TPanel;
begdate: TDateTimePicker;
enddate: TDateTimePicker;
BitBtn1: TBitBtn;
Label1: TLabel;
Label2: TLabel;
BitBtn2: TBitBtn;
DataSource1: TDataSource;
Query1: TQuery;
Query2: TQuery;
DataSource2: TDataSource;
TabControl1: TTabControl;
DBGrid2: TDBGrid;
DBGrid1: TDBGrid;
endtime: TDateTimePicker;
begtime: TDateTimePicker;
Label3: TLabel;
Edit1: TEdit;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure TabControl1Change(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure DBGrid1CellClick(Column: TColumn);
procedure N1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
JZmxcxForm: TJZmxcxForm;
implementation
uses dataproc, jzcx;
{$R *.DFM}
procedure TJZmxcxForm.FormShow(Sender: TObject);
begin
begdate.Datetime:=now-1;
enddate.Datetime:=now;
begtime.time:=strtotime('00:00:00');
endtime.time:=strtotime('23:59:59');
end;
procedure TJZmxcxForm.BitBtn1Click(Sender: TObject);
var tj:string;
begin
tj:='';
if trim(edit1.Text)<>'' then tj:=' and djcode='''+trim(edit1.Text)+'''';
DataSource1.Tag:=0;
DataSource1.DataSet:=nil;
query1.Close;
// query1.Prepare;
query1.SQL.Clear;
query1.sql.Add('select accno,max(djcode),min(handno),sum(num),(select sexname from lssex where sex=max(nowin.sex)) as sex,sum(money),sum(csmoney),min(begtime),max(endtime),(select name from mode where code=min(nowin.jzfs)) as 结帐方式,max(czy) from nowin ');
query1.sql.Add(' where begtime>=:pbegtime and begtime<:pendtime '+tj+' group by accno');
query1.sql.Add('union (select accno,max(djcode),min(handno),sum(num),(select sexname from lssex where sex=max(lsnowin.sex)) as sex,sum(money),sum(csmoney),min(begtime),max(endtime),(select name from mode where code=min(lsnowin.jzfs)) as 结帐方式,max(czy) from lsnowin ');
query1.sql.Add(' where begtime>=:pbegtime and begtime<:pendtime '+tj+' group by accno)');
query1.sql.Add(' order by accno');
query1.ParamByName('pbegtime').asstring:=formatdatetime('yyyy-mm-dd',begdate.date)+' '+formatdatetime('hh:mm:ss',begtime.time);
query1.ParamByName('pendtime').asstring:=formatdatetime('yyyy-mm-dd',enddate.date)+' '+formatdatetime('hh:mm:ss',endtime.time);
query1.Prepare;
query1.Open;
// query1.Fields[0].Visible:=false;
DataSource1.DataSet:=query1;
{ ChineseGrid(DBGrid1);
dbgrid1.Fields[0].DisplayLabel:='帐号';
dbgrid1.Fields[1].DisplayLabel:='登记单号'; }
DataSource1.Tag:=1;
// DBGrid1CellClick(nil);
end;
procedure TJZmxcxForm.TabControl1Change(Sender: TObject);
begin
if TabControl1.Tabs.Count<1 then
begin
query2.Active:=false;
exit;
end;
Query2.Close;
//此 djcode 表示 消费单号
Query2.ParamByName('pdj').asstring:=trim(TabControl1.Tabs[TabControl1.TabIndex]);
Query2.ParamByName('paccno').asstring:=query1.Fieldbyname('accno').asstring;
Query2.Open;
// ChineseGrid(DBGrid2);
tbooleanfield(DBGrid2.Fields[6]).displayvalues:='是;否';
tbooleanfield(DBGrid2.Fields[7]).displayvalues:='是;否';
end;
procedure TJZmxcxForm.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TJZmxcxForm.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if (DataSource1.DataSet=nil)then exit; // or (DataSource1.Tag=0)
fm.Query2.Active:=false;
fm.Query2.SQL.Clear;
fm.Query2.SQL.Add('select DISTINCT djcode from custom where accno='''+trim(query1.Fieldbyname('accno').asstring)+''' ');
fm.Query2.SQL.Add('union (select DISTINCT djcode from lscustom where accno='''+trim(query1.Fieldbyname('accno').asstring)+''')');
fm.Query2.Open;
TabControl1.Tabs.Clear;
while not fm.Query2.Eof do
begin
TabControl1.Tabs.Add(fm.Query2.Fields[0].asstring);
fm.Query2.Next;
end;
fm.Query2.Close;
fm.Query2.SQL.Clear;
fm.Query2.Active:=false;
TabControl1Change(nil);
end;
procedure TJZmxcxForm.DBGrid1CellClick(Column: TColumn);
begin
DataSource1DataChange(nil,nil);
end;
procedure TJZmxcxForm.N1Click(Sender: TObject);
begin
Application.CreateForm(Tjzcxform, jzcxform);
jzcxform.showmodal;
jzcxform.free;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -