📄 consumptioninfounit.~pas
字号:
unit consumptioninfounit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, DBCtrls, ComCtrls, DB, ADODB;
type
Tfrm_consumptioninfo = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
GroupBox2: TGroupBox;
Label3: TLabel;
lowTime: TDateTimePicker;
highTime: TDateTimePicker;
b_cancel: TButton;
b_query: TButton;
GroupBox4: TGroupBox;
DBNavigator1: TDBNavigator;
GroupBox6: TGroupBox;
asc: TRadioButton;
desc: TRadioButton;
GroupBox5: TGroupBox;
id: TRadioButton;
name: TRadioButton;
money: TRadioButton;
date: TRadioButton;
amount: TRadioButton;
GroupBox3: TGroupBox;
DBGrid1: TDBGrid;
q_consumption: TADOQuery;
ds_consumption: TDataSource;
t_member: TADOTable;
memberName: TComboBox;
memberId: TComboBox;
procedure b_cancelClick(Sender: TObject);
procedure b_queryClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ascClick(Sender: TObject);
procedure descClick(Sender: TObject);
procedure idClick(Sender: TObject);
procedure nameClick(Sender: TObject);
procedure amountClick(Sender: TObject);
procedure moneyClick(Sender: TObject);
procedure dateClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
ycon,scon:string;
end;
var
frm_consumptioninfo: Tfrm_consumptioninfo;
implementation
uses datamoduleunit;
{$R *.dfm}
procedure Tfrm_consumptioninfo.b_cancelClick(Sender: TObject);
begin
memberid.Text:='';
membername.Text:='';
asc.Checked:=true;
id.Checked:=true;
lowtime.Date:=strtodate('1983-6-27');
hightime.Date:=now;
q_consumption.Close;
ycon:='';
scon:='';
end;
procedure Tfrm_consumptioninfo.b_queryClick(Sender: TObject);
var s:string;
i:integer;
low,high:string;
begin
s:='select c.会员编号,c.会员姓名,b.商品编号,b.商品姓名 as 商品名称,';
s:=s+'b.单价 AS 原价,b.单位,a.数量 AS 购买数量,a.金额 AS 交易金额,a.日期 AS 消费日期 ';
s:=s+' from mytransaction AS a, foods As b, member AS c ';
s:=s+' where a.商品编号=b.商品编号 and a.会员编号=c.会员编号 ';
if memberid.Text<>'' then
s:=s+' and c.会员编号='+memberid.text;
if membername.Text<>'' then
s:=s+' and 会员姓名='''+membername.Text+'''';
// low:=formatdatetime('mm''/''dd''/''yyyy',lowtime.Date);
// high:=formatdatetime('mm''/''dd''/''yyyy',hightime.Date);
// s:=s+' and a.日期>'+low+' and a.日期<'+high;
s:=s+' and a.日期>='''+datetostr(lowtime.Date)+'''';
s:=s+' and a.日期<='''+datetostr(hightime.Date)+'''';
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(s);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
ycon:=s;
scon:=s;
end;
procedure Tfrm_consumptioninfo.FormShow(Sender: TObject);
var i:integer;
begin
memberid.Clear;
membername.Clear;
t_member.Open;
i:=1;
while i<t_member.RecordCount do
begin
memberid.Items.Add(t_member.FieldValues['会员编号']);
membername.Items.Add(t_member.FieldValues['会员姓名']);
t_member.Next;
i:=i+1;
end;
t_member.Close;
frm_consumptioninfo.b_cancelClick(nil);
end;
procedure Tfrm_consumptioninfo.ascClick(Sender: TObject);
var s,col:string;
begin
s:=scon;
if s='' then
begin
exit;
end;
if id.Checked then col:='b.商品编号'
else if name.Checked then col:='b.商品姓名'
else if amount.Checked then col:='a.数量'
else if money.Checked then col:='a.金额'
else col:='a.日期';
s:=s+' order by '+col+' asc';
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(s);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.descClick(Sender: TObject);
var s,col:string;
begin
s:=scon;
if s='' then exit;
if id.Checked then col:='b.商品编号'
else if name.Checked then col:='b.商品姓名'
else if amount.Checked then col:='a.数量'
else if money.Checked then col:='a.金额'
else col:='a.日期';
s:=s+' order by '+col+' desc';
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(s);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.idClick(Sender: TObject);
var x,s:string;
begin
if asc.Checked then s:=' asc' else s:=' desc';
x:=scon;
if x='' then exit;
x:=x+' order by b.商品编号'+s;
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(x);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.nameClick(Sender: TObject);
var x,s:string;
begin
if asc.Checked then s:=' asc' else s:=' desc';
x:=scon;
if x='' then exit;
x:=x+' order by b.商品姓名'+s;
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(x);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.amountClick(Sender: TObject);
var x,s:string;
begin
if asc.Checked then s:=' asc' else s:=' desc';
x:=scon;
if x='' then exit;
x:=x+' order by a.数量'+s;
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(x);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.moneyClick(Sender: TObject);
var x,s:string;
begin
if asc.Checked then s:=' asc' else s:=' desc';
x:=scon;
if x='' then exit;
x:=x+' order by a.金额'+s;
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(x);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
procedure Tfrm_consumptioninfo.dateClick(Sender: TObject);
var x,s:string;
begin
if asc.Checked then s:=' asc' else s:=' desc';
x:=scon;
if x='' then exit;
x:=x+' order by a.日期'+s;
q_consumption.Close;
q_consumption.SQL.Clear;
q_consumption.SQL.Add(x);
try
q_consumption.Open;
except
q_consumption.ExecSQL;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -