📄 gl_enter_docket_d.pas
字号:
unit Gl_Enter_Docket_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, linkedit;
Type
TFrm_Gl_Enter_Docket_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edt_DocketCode: TEdit;
Edt_DocketName: TEdit;
Edt_KmCode: TLinkEdit;
Edt_KmName: TEdit;
procedure btn_okClick(Sender: TObject);
procedure Edt_KmCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edt_KmCodeButtonClick(Sender: TObject);
procedure Edt_KmCodeExit(Sender: TObject);
private
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveData; Override;
{ Public declarations }
end;
var
Frm_Gl_Enter_Docket_D: TFrm_Gl_Enter_Docket_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Gl_Enter_Docket_D }
procedure TFrm_Gl_Enter_Docket_D.InitControls;
begin
inherited;
If (status='Add') Then
begin
Edt_DocketCode.Enabled := True;
Edt_DocketName.Enabled := True;
Edt_KmCode.Enabled := True;
Edt_DocketCode.SetFocus ;
end
else
If (status='Edit') Then
begin
Edt_DocketCode.Enabled := False;
Edt_DocketName.Enabled := True;
Edt_KmCode.Enabled := True;
Edt_DocketName.SetFocus;
end;
with AdoQry_Maintain do
begin
Edt_DocketCode.Text:=fieldbyname('DocketCode').AsString;
Edt_DocketName.Text :=fieldbyname('DocketName').AsString;
Edt_KmCode.Text:=fieldbyname('KmCode').AsString;
Edt_KmName.Text:=fieldbyname('KmName').AsString;
end;
end;
procedure TFrm_Gl_Enter_Docket_D.SaveData;
var
KmCode:String;
begin
inherited;
try
DbConnect.beginTrans;
if (Add) then
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Text:= ' Insert into Gl_Docket '
+' (DocketCode,DocketName,KmCode ) '
+' Values('
+''''+edt_DocketCode.text+''''
+','''+edt_DocketName.text+''''
+','''+edt_KmCode.text+''''
+')';
ExecSQL;
Close;
SQL.clear;
Sql.Text := 'Select @@Identity As aa' ;
Open;
KmCode := fieldbyname('aa').AsString;
Close;
SQL.clear;
SQL.Text:= ' Insert into Gl_DocketHistory '
+' (DocketId,DocketCode,DocketName,KmCode,ChgEmployeeCode,ChgTime,ChgType ) '
+' Values('
+''''+KmCode+''', '
+''''+edt_DocketCode.text+''','
+''''+edt_DocketName.text+''','
+''''+edt_KmCode.text+''','
+ QuotedStr(UserCode)+','
+' GetDate(),'
+''''+'新增'+''' '
+')';
ExecSQL;
end;
end
else
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
Sql.Text := 'Select DocketId From Gl_Docket Where DocketCode='''+Edt_DocketCode.Text+''' ' ;
Open;
KmCode := fieldbyname('DocketId').AsString;
Close;
SQL.clear;
SQL.Text:= ' Insert into Gl_DocketHistory '
+' (DocketId,DocketCode,DocketName,KmCode,ChgEmployeeCode,ChgTime,ChgType ) '
+' Values('
+''''+KmCode+''', '
+''''+edt_DocketCode.text+''','
+''''+edt_DocketName.text+''','
+''''+edt_KmCode.text+''','
+ QuotedStr(UserCode)+','
+' GetDate(),'
+''''+'修改'+''' '
+')';
ExecSQL;
Close;
SQL.clear;
sql.Add('update Gl_Docket set '+
'DocketName='''+Edt_DocketName.text+''','+
'KmCode='''+Edt_KmCode.text+''' '+
' where DocketCode='''+Edt_DocketCode.Text+''' ');
ExecSQL;
end
end;
DbConnect.CommitTrans ;
except
DbConnect.RollBackTrans ;
end;
//给AdoQry_Item各字段赋值
with AdoQry_Maintain do
begin
edit;
fieldbyname('DocketCode').AsString:=Edt_DocketCode.Text ;
fieldbyname('DocketName').AsString:=Edt_DocketName.Text;
fieldbyname('KmCode').AsString:=Edt_KmCode.Text;
fieldbyname('KmName').AsString:=Edt_KmName.Text;
Post;
end;
end;
procedure TFrm_Gl_Enter_Docket_D.btn_okClick(Sender: TObject);
begin
if Status = 'Add' then
begin
AdoQry_tmp.Close;
AdoQry_tmp.SQL.clear;
AdoQry_tmp.SQL.Text := ' Select DocketCode From Gl_Docket Where DocketCode = '''+Edt_DocketCode.Text+'''';
AdoQry_tmp.Open;
if not AdoQry_tmp.Eof then
begin
DispInfo('摘要代码不能重复',1);
Edt_DocketCode.SetFocus;
Abort;
end;
end;
inherited;
end;
procedure TFrm_Gl_Enter_Docket_D.Edt_KmCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'KmName','科目名称','KmCode',
'科目代码',' Gl_AccountSubject ');
end;
procedure TFrm_Gl_Enter_Docket_D.Edt_KmCodeButtonClick(Sender: TObject);
begin
inherited;
CommOnHint(Sender,AdoQry_Tmp,'KmName','科目名称','KmCode',
'科目代码',' Gl_AccountSubject ');
end;
procedure TFrm_Gl_Enter_Docket_D.Edt_KmCodeExit(Sender: TObject);
begin
inherited;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.clear;
AdoQry_Tmp.SQL.text := 'Select KmName from Gl_AccountSubject Where KmCode='''+Edt_KmCode.Text +'''';
AdoQry_Tmp.Open;
if AdoQry_Tmp.Eof then
begin
DispInfo('科目代码输入错误!',1);
Edt_KmCode.SetFocus;
Abort;
end
else
Edt_KmName.Text := AdoQry_Tmp.fieldbyname('KmName').AsString;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -