📄 czfcbcx.pas
字号:
unit CzfCbcx;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, ExtCtrls, DB, ADODB, StdCtrls, Buttons, ComCtrls;
type
TCzfCbcxForm = class(TForm)
DS_CbCx: TDataSource;
ADQ_CbCx: TADOQuery;
Panel1: TPanel;
DBGrid2: TDBGrid;
Panel2: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Ed_Fh: TEdit;
GroupBox2: TGroupBox;
BitBtn_find: TBitBtn;
DT_Cbrq1: TDateTimePicker;
DT_Cbrq2: TDateTimePicker;
Chk: TCheckBox;
BBtn_Print: TBitBtn;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure Ed_FhChange(Sender: TObject);
procedure BitBtn_findClick(Sender: TObject);
procedure BBtn_PrintClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
CzfCbcxForm: TCzfCbcxForm;
implementation
uses Unit_common_files,DateUtils, Cbreport;
{$R *.dfm}
procedure TCzfCbcxForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action :=cafree;
CzfCbcxForm:=nil;
end;
procedure TCzfCbcxForm.FormCreate(Sender: TObject);
begin
DT_Cbrq1.Date :=date();
DT_cbrq2.date :=date();
end;
procedure TCzfCbcxForm.Ed_FhChange(Sender: TObject);
var nYear,nMonth,nDay:word;
begin
DecodeDate(Now(),nYear,nMonth,nDay);
GetTableName(nYear,nMonth);
GetsyTableName(nYear,nMonth);
ADQ_CbCx.Close;
ADQ_CbCx.SQL.Clear ;
ADQ_CbCx.SQL.Add('SELECT A.manid, B.manname,B.zjm, A.fangno,C.Cbrq, C.lsb, C.rsb,');
if Chk.Checked =true then
begin
if monthof(DT_Cbrq1.Date)=monthof(date) then
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ StrTableName+ ' C')
else
begin
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ strTableName+ ' C');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Rz A ON C.fangno = A.fangno ');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Man B ON A.manid = B.manid ');
ADQ_CbCx.SQL.Add('where ( A.fangno like ');
ADQ_CbCx.SQL.Add('+'''+Ed_Fh.Text+'%'+'''');
ADQ_CbCx.SQL.Add('or b.zjm like '''+Ed_Fh.Text+'%'+''')');
ADQ_CbCx.SQL.Add('and cbrq between '''+datetostr(DT_Cbrq1.Date)+''' and '''+datetostr(DT_Cbrq2.Date)+'''');
ADQ_CbCx.SQL.Add('union SELECT A.manid, B.manname,B.zjm, A.fangno,C.Cbrq, C.lsb, C.rsb,');
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ SyTableName+ ' C');
end;
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Rz A ON C.fangno = A.fangno ');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Man B ON A.manid = B.manid ');
ADQ_CbCx.SQL.Add('where ( A.fangno like ');
ADQ_CbCx.SQL.Add('+'''+Ed_Fh.Text+'%'+'''');
ADQ_CbCx.SQL.Add('or b.zjm like '''+Ed_Fh.Text+'%'+''')');
ADQ_CbCx.SQL.Add('and cbrq between '''+datetostr(DT_Cbrq1.Date)+''' and '''+datetostr(DT_Cbrq2.Date)+'''');
ADQ_CbCx.Open;
end;
end;
procedure TCzfCbcxForm.BitBtn_findClick(Sender: TObject);
var nYear,nMonth,nDay:word;
begin
DecodeDate(Now(),nYear,nMonth,nDay);
GetTableName(nYear,nMonth);
GetsyTableName(nYear,nMonth);
ADQ_CbCx.Close;
ADQ_CbCx.SQL.Clear ;
ADQ_CbCx.SQL.Add('SELECT A.manid, B.manname,B.zjm, A.fangno,C.Cbrq, C.lsb, C.rsb,');
if monthof(DT_Cbrq1.Date)=monthof(date) then
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ StrTableName+ ' C')
else
begin
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ strTableName+ ' C');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Rz A ON C.fangno = A.fangno ');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Man B ON A.manid = B.manid ');
ADQ_CbCx.SQL.Add('where ( A.fangno like ');
ADQ_CbCx.SQL.Add('+'''+Ed_Fh.Text+'%'+'''');
ADQ_CbCx.SQL.Add('or b.zjm = '''+Ed_Fh.Text+''')');
ADQ_CbCx.SQL.Add('and cbrq between '''+datetostr(DT_Cbrq1.Date)+''' and '''+datetostr(DT_Cbrq2.Date)+'''');
ADQ_CbCx.SQL.Add('union SELECT A.manid, B.manname,B.zjm, A.fangno,C.Cbrq, C.lsb, C.rsb,');
ADQ_CbCx.SQL.Add(' C.db, C.mqb FROM '+ SyTableName+ ' C');
end;
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Rz A ON C.fangno = A.fangno ');
ADQ_CbCx.SQL.Add('INNER JOIN dbo.Zf_Man B ON A.manid = B.manid ');
ADQ_CbCx.SQL.Add('where ( A.fangno like ');
ADQ_CbCx.SQL.Add('+'''+Ed_Fh.Text+'%'+'''');
ADQ_CbCx.SQL.Add('or b.zjm = '''+Ed_Fh.Text+''')');
ADQ_CbCx.SQL.Add('and cbrq between '''+datetostr(DT_Cbrq1.Date)+''' and '''+datetostr(DT_Cbrq2.Date)+'''');
ADQ_CbCx.Open;
if ADQ_CbCx.IsEmpty then
messagebox(0,'没有符合条件的记录','余科华提示',Mb_OK+MB_ICONWARNING);
Ed_fh.SetFocus ;
exit;
end;
procedure TCzfCbcxForm.BBtn_PrintClick(Sender: TObject);
begin
if ADQ_CbCx.IsEmpty then
begin
messagebox(0,'请查询后再打印!','余科华提示',MB_OK+MB_ICONWARNING);
Exit;
end
else
begin
BbForm_report:=TBbForm_report.Create(nil);
try
BbForm_report.QRL_Cbr.Caption :=CurrentUserName;
BbForm_report.print_date.Caption:=inttostr(yearof(date))+'年'+inttostr(monthof(date))+'月'+inttostr(dayof(date))+'日';
BbForm_report.Cb_report.Preview ;
finally
BbForm_report.Free ;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -