📄 gl_qry_totalcredence.pas
字号:
unit Gl_Qry_TotalCredence;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Qry, Menus, ExtPrintReport, Db, ActnList, AdODB, Grids, DBGridEh,
StdCtrls, ExtCtrls, ComCtrls, ToolWin;
Type
TFrm_Gl_Qry_TotalCredence = Class(TFrm_Base_Qry)
AdoQry_MainkmCode: TStringField;
AdoQry_MainkmName: TStringField;
AdoQry_MaindebitAmount: TFloatField;
AdoQry_MaincreditAmount: TFloatField;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);Override;
{ Public declarations }
end;
var
Frm_Gl_Qry_TotalCredence: TFrm_Gl_Qry_TotalCredence;
implementation
uses Sys_Global,Gl_Qry_TotalCredence_C;
{$R *.DFM}
procedure TFrm_Gl_Qry_TotalCredence.InitForm(AdOConnection:TAdOConnection;ShowExtendColumn:Boolean);
var sqltext:string;
date1,date2:string;
chno1,chno2:string;
Credenceno1,Credenceno2:string;
CredenceType:integer;
cre:string;
begin
Application.ProcessMessages;
inherited;
date1:='';
date2:='';
chno1:='';
chno2:='';
Credenceno1:='0';
Credenceno2:='0';
CredenceType:=0;
with TFrm_Gl_Qry_TotalCredence_C.Create(self) do
begin
try
AdoQry_tmp.Connection:=dbconnect;
showmodal;
if modalResult=mrok then
begin
date1:=medts.Text;
date2:=medte.Text;
chno1:=edt_ChCode1.Text;
chno2:=edt_ChCode2.Text;
Credenceno1:=edt_Credenceno1.Text;
Credenceno2:=edt_Credenceno2.Text;
CredenceType:=cmb_CredenceType.ItemIndex;
cre:=cmb_CredenceType.Text;
end;
finally
Frm_Gl_Qry_TotalCredence_C.Free;
end;
end;
sqltext:='select t1.kmCode, '
+' t2.kmName, '
+' sum(t1.debitAmount) as debitAmount, '
+' sum(t1.creditAmount) as creditAmount '
+' into #CredenceSumQry '
+' from Gl_Credenceline t1 '
+' left join Gl_AccountSubject t2 on t1.kmCode=t2.kmCode '
+' join Gl_Credence t3 on t1.Credenceid=t3.Credenceid '
+' and t3.Credencedate between '+quotedstr(date1)+' and '+quotedstr(date2)
+' and t3.Characterno between '+quotedstr(chno1)+' and '+quotedstr(chno2)
+' and t3.Credenceno between '+quotedstr(Credenceno1)+' and '+quotedstr(Credenceno2)
+iifstring(CredenceType=0,' ',iifstring(CredenceType=1,' and t3.tallyflag=0',' and t3.tallyflag=1'))
+' group by t1.kmCode,t2.kmName ';
Executesql(AdoQry_tmp,sqltext,1);
selectfromsql:='select * from #CredenceSumQry';
Orderbyfields:=' kmCode';
Executesql(AdoQry_Main,'select * from #CredenceSumQry Order by kmCode',0);
lbl_Condition.Caption:='制单日期从 '+date1+' 到 '+date2+' /凭证字从 '+chno1+' 到 '+chno2+' /凭证号从 '+Credenceno1+' 到 '+Credenceno2 +' / 凭证类型: '+cre;
end;
procedure TFrm_Gl_Qry_TotalCredence.FormDestroy(Sender: TObject);
begin
inherited;
Frm_Gl_Qry_TotalCredence:=nil;
end;
procedure TFrm_Gl_Qry_TotalCredence.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
try
Executesql(AdoQry_tmp,'drop table #CredenceSumQry',1);
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -