📄 gl_enter_credencetypeh.pas
字号:
unit Gl_Enter_CredenceTypeH;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Head, Menus, Db, ActnList, AdODB, Grids, DBGridEh, StdCtrls,
ExtCtrls, ComCtrls, ToolWin, ExtPrintReport, jpeg;
Type
TFrm_Gl_Enter_CredenceTypeH = Class(TFrm_Base_Entry_Head)
AdoQry_HeadCharacterNo: TStringField;
AdoQry_HeadCharacterCode: TStringField;
AdoQry_HeadCharacterName: TStringField;
AdoQry_HeadLimitType: TIntegerField;
procedure Act_DeleteExecute(Sender: TObject);
private
procedure SaveCredenceTypeHistory(AdoConnection:TAdoConnection;CharacterNo:string;UserCode:string;HisType:integer);
procedure SaveCredenceTypeLineHistory(AdoConnection:TAdoConnection;CharacterNo,CredenceTypeLineId:string;UserCode:string;HisType:integer);
{ Private declarations }
public
procedure InitForm(AdOConnection:TAdOConnection;ReadOnly:Boolean);Override;
{ Public declarations }
end;
var
Frm_Gl_Enter_CredenceTypeH: TFrm_Gl_Enter_CredenceTypeH;
implementation
uses Gl_Enter_CredenceType, Sys_Global;
{$R *.DFM}
{ TFrm_Gl_Enter_ForeignCurrencyRateH }
procedure TFrm_Gl_Enter_CredenceTypeH.InitForm(
AdOConnection: TAdOConnection; ReadOnly: Boolean);
begin
inherited;
SelectFromSql:='Select * From Gl_CredenceType ' ;
OrderByFields:=' CharacterNo ';
GetData;
Frm_Entry_Body:=TFrm_Gl_Enter_CredenceType.Create(Application);
end;
procedure TFrm_Gl_Enter_CredenceTypeH.Act_DeleteExecute(
Sender: TObject);
begin
if(not AdoQry_Head.IsEmpty)and
(DispInfo(' 真的删除当前记录吗? ',2)='y')then
begin
try
DbConnect.beginTrans;
SaveCredenceTypeHistory(DbConnect,AdoQry_Head.fieldbyname('CharacterNo').AsString ,UserCode,2);
AdoQry_Tmp.Close;
AdoQry_Tmp.sql.clear;
AdoQry_Tmp.SQL.Text := ' Select * From Gl_CredenceTypeLine '
+' Where CharacterNo='''+AdoQry_Head.fieldbyname('CharacterNo').AsString +''' ' ;
AdoQry_Tmp.Open;
while not AdoQry_Tmp.Eof do
begin
SaveCredenceTypeLineHistory(DbConnect,AdoQry_Tmp.fieldbyname('CharacterNo').AsString ,AdoQry_Tmp.fieldbyname('CredenceTypeLineId').AsString,UserCode,2);
AdoQry_Tmp.Next;
end;
AdoQry_Tmp.Close;
AdoQry_Tmp.sql.clear;
AdoQry_Tmp.SQL.Text := ' Delete Gl_CredenceTypeLine '
+' Where CharacterNo='''+AdoQry_Head.fieldbyname('CharacterNo').AsString+''' ' ;
AdoQry_Tmp.ExecSQL;
AdoQry_Tmp.Close;
AdoQry_Tmp.sql.clear;
AdoQry_Tmp.SQL.Text := ' Delete Gl_CredenceType '
+' Where CharacterNo='''+AdoQry_Head.fieldbyname('CharacterNo').AsString+''' ' ;
AdoQry_Tmp.ExecSQL;
DbConnect.CommitTrans;
AdoQry_Head.Delete;
except
DbConnect.RollBackTrans ;
DispInfo(' 无法删除当前记录,可能已经被其他数据表引用!',1);
Abort;
end;
end;
end;
procedure TFrm_Gl_Enter_CredenceTypeH.SaveCredenceTypeHistory(
AdoConnection: TAdoConnection; CharacterNo, UserCode: string;
HisType: integer);
var AdoQry:TAdoQuery;
AdoQrytmp:TAdoQuery;
sqltext:string;
chgType:string;
begin
case hisType of
0: chgType:='新增';
1: chgType:='修改';
2: chgType:='删除';
end;
AdoQry:=TAdoQuery.Create(Application);
AdoQry.EnableBCD:=False;
AdoQry.Connection:=AdoConnection;
AdoQrytmp:=TAdoQuery.Create(Application);
AdoQrytmp.EnableBCD:=False;
AdoQrytmp.Connection:=AdoConnection;
SqlText := ' Select * From Gl_CredenceType Where CharacterNo = '''+CharacterNo+''' ';
AdoQry.Close;
AdoQry.SQL.clear;
AdoQry.Sql.Text := SqlText;
AdoQry.Open;
SqlText:='Insert Gl_CredenceTypeHistory '
+' (CharacterNo,CharacterCode,CharacterName,LimitType, '
+' ChgEmployeeCode,ChgTime,ChgType )'
+' Values('
+''''+ AdoQry.fieldbyname('CharacterNo').AsString+''','
+''''+ AdoQry.fieldbyname('CharacterCode').AsString+''','
+''''+ AdoQry.fieldbyname('CharacterName').AsString+''','
+''''+ AdoQry.fieldbyname('LimitType').AsString+''','
+Quotedstr(userCode)+','
+'getdate(),'
+quotedstr(chgType)+')';
with AdoQrytmp do
begin
Close;
sql.clear;
sql.Text:=sqltext;
try
execsql;
except
end;
end;
try
AdoQry.Free;
AdoQrytmp.Free;
except
end;
end;
procedure TFrm_Gl_Enter_CredenceTypeH.SaveCredenceTypeLineHistory(
AdoConnection: TAdoConnection; CharacterNo, CredenceTypeLineId,
UserCode: string; HisType: integer);
var AdoQry:TAdoQuery;
AdoQrytmp:TAdoQuery;
sqltext:string;
chgType:string;
begin
case hisType of
0: chgType:='新增';
1: chgType:='修改';
2: chgType:='删除';
end;
AdoQry:=TAdoQuery.Create(Application);
AdoQry.EnableBCD:=False;
AdoQry.Connection:=AdoConnection;
AdoQrytmp:=TAdoQuery.Create(Application);
AdoQrytmp.EnableBCD:=False;
AdoQrytmp.Connection:=AdoConnection;
with AdoQry do
begin
Close;
sql.clear;
sql.Text:='select * from Gl_CredenceTypeLine where CharacterNo='+CharacterNo
+' and CredenceTypeLineId='+CredenceTypeLineId;
Prepared;
open;
end;
SqlText:='Insert Gl_CredenceTypeLineHistory '
+' (CredenceTypeLineId,CharacterNo,KmCode, '
+' ChgEmployeeCode,ChgTime,ChgType)'
+' Values('
+ Quotedstr(AdoQry.fieldbyname('CredenceTypeLineId').AsString)+','
+ Quotedstr(AdoQry.fieldbyname('CharacterNo').AsString)+','
+ Quotedstr(AdoQry.fieldbyname('KmCode').AsString)+','
+ quotedstr(userCode)+','
+'getdate(),'
+ quotedstr(chgType)+')';
with AdoQrytmp do
begin
Close;
sql.clear;
sql.Text:=sqltext;
try
execsql;
except
end;
end;
try
AdoQry.Free;
AdoQrytmp.Free;
except
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -