?? unitstat.pas
字號:
unit unitstat;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, ExtCtrls, Buttons, Grids, DBGrids,math;
type
TForm_unitstat = class(TForm)
Panel1: TPanel;
Label5: TLabel;
ComboBox1: TComboBox;
Label9: TLabel;
DateTimePicker1: TDateTimePicker;
Label10: TLabel;
DateTimePicker2: TDateTimePicker;
Panel2: TPanel;
DBGrid1: TDBGrid;
Panel3: TPanel;
Label3: TLabel;
Label4: TLabel;
Label1: TLabel;
Edit1: TEdit;
Edit2: TEdit;
BitBtn1: TBitBtn;
BitBtn3: TBitBtn;
BitBtn2: TBitBtn;
Label2: TLabel;
Edit3: TEdit;
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure DBGrid1TitleClick(Column: TColumn);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_unitstat: TForm_unitstat;
implementation
uses dm,unitstatrep;
{$R *.dfm}
procedure TForm_unitstat.FormShow(Sender: TObject);
begin
with form_dm.ADOtable_employer do
begin
open;
Sort:='name';
first;
combobox1.Items.Clear;
combobox1.Items.Add('全部');
repeat
combobox1.Items.Add(fieldbyname('name').AsString);
Next;
until eof;
end;
combobox1.Text:='';
datetimepicker1.Date:=date;
datetimepicker2.Date:=date;
edit1.Text:='0';
edit2.text:='0';
end;
procedure TForm_unitstat.BitBtn1Click(Sender: TObject);
var i:integer;
allfee,allkm:double;
begin
if datetimepicker1.Date>=datetimepicker2.Date then
begin
showmessage('請選擇你一個合適的時間段!');
abort;
end;
if combobox1.Text<>'全部' then
form_dm.ADOQuery_carout.SQL.Text:='select round(car_out.spend),car_out.*,car.type from car_out,car where car_out.car_id=car.id and unit='''+combobox1.Text+''' and car_out.date between '''+ formatdatetime('yyyy-mm-dd',datetimepicker1.date)+''' and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.date)+''' order by car_out.unit;'
else
form_dm.ADOQuery_carout.SQL.Text:='select round(car_out.spend),car_out.*,car.type from car_out,car where car_out.car_id=car.id and car_out.date between '''+ formatdatetime('yyyy-mm-dd',datetimepicker1.date)+''' and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.date)+''' order by car_out.unit;';
form_dm.ADOQuery_carout.Open;
if form_dm.ADOQuery_carout.RecordCount=0 then
begin
edit1.Text:='0';
edit2.Text:='0';
edit3.Text:='0';
showmessage('在此段時間內該單位無用車記錄!');
abort;
end;
edit1.Text:= inttostr(form_dm.ADOQuery_carout.RecordCount);
i:=0;
allfee:=0;
allkm:=0;
with form_dm.ADOQuery_carout do
begin
First;
repeat
allfee:=allfee+fieldbyname('spend').AsFloat;
allkm:= allkm+fieldbyname('km').AsFloat;
Next;
until eof;
end;
allfee:=roundto(allfee,-2);
allkm:=roundto(allkm,-2);
edit3.Text:=floattostr(allfee);
edit2.Text:=floattostr(allkm);
end;
procedure TForm_unitstat.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TForm_unitstat.BitBtn3Click(Sender: TObject);
begin
form_unitstatrep.QRLabel6.Caption:=combobox1.Text+'用車費用列表';
form_unitstatrep.QRLabel17.Caption:='('+formatdatetime('yyyy-mm-dd',datetimepicker1.date)+' 至 '+formatdatetime('yyyy-mm-dd',datetimepicker2.date)+')';
form_unitstatrep.QRLabel23.Caption:=edit1.Text;
form_unitstatrep.QRLabel24.Caption:=edit3.Text;
form_unitstatrep.QRLabel9.Caption:=edit2.Text;
form_unitstatrep.QuickRep1.Preview;
end;
procedure TForm_unitstat.DBGrid1TitleClick(Column: TColumn);
var
i:integer;
fieldname:string;
begin//排序
i:=Column.Index;
if bSort=0 then
begin
fieldname:=DBGrid1.Columns[i].FieldName+' ASC';
bSort:=1;
end
else
begin
fieldname:=DBGrid1.Columns[i].FieldName+' DESC';
bSort:=0;
end;
if form_dm.ADOQuery_carout.SQL.Text<>'' then
begin
form_dm.ADOQuery_carout.open;
form_dm.ADOQuery_carout.Sort:=fieldname;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -