📄 u_statistic.pas
字号:
unit u_statistic;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, ExtCtrls;
type
TF_statistic = class(TForm)
i_stat: TRadioGroup;
Label1: TLabel;
i_depart_name: TEdit;
i_depart_id: TMaskEdit;
Label2: TLabel;
i_person_id: TMaskEdit;
i_person_name: TEdit;
Label3: TLabel;
i_start_date: TMaskEdit;
i_end_date: TMaskEdit;
Label4: TLabel;
Button1: TButton;
procedure i_depart_idChange(Sender: TObject);
procedure i_person_idChange(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
F_statistic: TF_statistic;
implementation
uses u_datamodule, u_report;
{$R *.DFM}
procedure TF_statistic.i_depart_idChange(Sender: TObject);
begin
with DM_main.Q_depart do
begin
Params[0].AsString:=i_depart_id.Text;
Open;
if RecordCount=1 then
i_depart_name.Text:=FieldValues['NAME']
else
i_depart_name.Text:='';
Close;
end;
end;
procedure TF_statistic.i_person_idChange(Sender: TObject);
begin
with DM_main.Q_person do
begin
Params[0].AsString:=i_person_id.Text;
Open;
if RecordCount=1 then
begin
i_person_name.Text:=FieldValues['NAME'];
i_depart_id.Text:=FieldValues['DEPARTMENT'];
end
else
i_person_name.Text:='';
Close;
end;
end;
procedure TF_statistic.FormShow(Sender: TObject);
begin
i_start_date.Text:=FormatDateTime('yyyy-mm-dd', now-30);
i_end_date.Text:=FormatDateTime('yyyy-mm-dd', now);
end;
procedure TF_statistic.Button1Click(Sender: TObject);
begin
with DM_main.Q_stat do
begin
if SQL.Count>9 then //恢复初始SQL
SQL.Delete(9);
Case i_stat.ItemIndex of
1: SQL.Add('AND P.DEPARTMENT='''+i_depart_id.Text+'''');
2: SQL.Add('AND T.PERSON='''+i_person_id.Text+'''');
end;
Params[0].AsDate:=StrToDate(i_start_date.Text);
Params[1].AsDate:=StrToDate(i_end_date.Text);
Open;
F_report.QuickRep1.PreviewModal;
Close;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -