📄 gl_enter_moreaccountbook_d.pas
字号:
unit Gl_Enter_MoreAccountBook_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Entry_Detail, Db, AdODB, ExtCtrls, StdCtrls, linkedit;
Type
TFrm_Gl_Enter_MoreAccountBook_D = Class(TFrm_Base_Entry_Detail)
Label1: TLabel;
Edt_KmCode: TLinkEdit;
Edt_KmName: TEdit;
Label2: TLabel;
cmb_Dir: TComboBox;
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 SaveBodyData; Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String);Override;
{ Public declarations }
end;
var
Frm_Gl_Enter_MoreAccountBook_D: TFrm_Gl_Enter_MoreAccountBook_D;
implementation
uses Gl_Enter_MoreAccountBook, Sys_Global;
{$R *.DFM}
{ TFrm_Gl_Enter_ForeignCurrencyRate_D }
procedure TFrm_Gl_Enter_MoreAccountBook_D.InitControls;
begin
Inherited;
with AdoQry_Body do
begin
If (Status='Add') then
begin
Edt_KmCode.Enabled := True;
Edt_KmCode.Text := '';
Edt_KmName.Text:='';
cmb_Dir.ItemIndex:=0;
end
else
begin
Edt_KmCode.Enabled := False;
Edt_KmCode.Text:=fieldbyname('KmCode').AsString;
Edt_KmName.Text:=fieldbyname('KmName').AsString;
cmb_Dir.ItemIndex:=fieldbyname('Balancedirection').asinteger-1;
cmb_Dir.Enabled:=True;
end;
end;
if Edt_KmCode.CanFocus then
Edt_KmCode.SetFocus;
end;
procedure TFrm_Gl_Enter_MoreAccountBook_D.SaveBodyData;
begin
inherited;
if status='Add' then
begin
AdoQry_Body.First;
while not AdoQry_Body.Eof do
begin
if AdoQry_Body.fieldbyname('kmCode').asstring=Trim(edt_kmCode.text) then
begin
DispInfo('科目代码不能重复!',3);
abort;
end;
AdoQry_Body.Next;
end;
end;
If Status='Add' Then
AdoQry_Body.Append
Else
AdoQry_Body.Edit;
with AdoQry_Body do
begin
fieldbyname('KmCode').AsString := Trim(Edt_KmCode.Text);
fieldbyname('KmName').AsString := Trim(Edt_KmName.Text);
fieldbyname('Balancedirection').asinteger:=cmb_Dir.ItemIndex+1;
Post;
end;
end;
procedure TFrm_Gl_Enter_MoreAccountBook_D.SetStatus(
CurrentStatus: String; var EnableControls: String);
begin
inherited;
if(CurrentStatus='Add')then
EnableControls := 'Edt_KmCode,cmb_Dir,'
else
EnableControls := 'cmb_Dir,';
end;
procedure TFrm_Gl_Enter_MoreAccountBook_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_MoreAccountBook_D.Edt_KmCodeButtonClick(
Sender: TObject);
begin
inherited;
CommOnHint(Sender,AdoQry_Tmp,'KmName','科目名称','KmCode',
'科目代码',' Gl_AccountSubject ');
end;
procedure TFrm_Gl_Enter_MoreAccountBook_D.Edt_KmCodeExit(Sender: TObject);
begin
inherited;
if Activecontrol.Name = 'btn_ok' then
begin
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;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -