📄 ap_paymode_d.pas
字号:
unit Ap_PayMode_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, StdCtrls, Db, AdODB, ExtCtrls, ExtEdit, linkedit;
Type
TFrm_Ap_PayMode_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Edt_PayModeCode: TExtEdit;
Edt_PayModeName: TEdit;
Edt_PayModeRemArk: TEdit;
Label3: TLabel;
LEdt_PayModeKMCode: TLinkEdit;
Edt_kmName: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edt_PayModeCodeExit(Sender: TObject);
procedure LEdt_PayModeKMCodeKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure LEdt_PayModeKMCodeButtonClick(Sender: TObject);
procedure LEdt_PayModeKMCodeExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
protected
procedure InitControls; Override;
procedure SaveData; Override;
end;
var
Frm_Ap_PayMode_D: TFrm_Ap_PayMode_D;
implementation
uses Sys_Global;
{$R *.DFM}
procedure TFrm_Ap_PayMode_D.FormCreate(Sender: TObject);
begin
inherited;
SetFocus_Control:=Edt_PayModeCode;
end;
procedure TFrm_Ap_PayMode_D.InitControls;
begin
inherited;
{if Status='Add' then
begin
Edt_PayModeCode.Text:='';
Edt_PayModeName.Text:='';
LEdt_PayModeKMCode.Text:='';
Edt_kmName.text:='';
Edt_PayModeRemArk.Text:='';
end
else
begin}
with AdoQry_Maintain do
begin
Edt_PayModeCode.Text:=fieldbyname('PayModeCode').AsString;
Edt_PayModeName.Text:=fieldbyname('PayModeName').AsString;
LEdt_PayModeKMCode.Text:=fieldbyname('PayModeKMCode').AsString;
Edt_PayModeRemArk.Text:=fieldbyname('PayModeRemArk').AsString;
end;
LEdt_PayModeKMCodeExit(LEdt_PayModeKMCode);
//end;
Edt_kmName.Enabled :=False;
end;
procedure TFrm_Ap_PayMode_D.SaveData;
begin
inherited;
// if Trim(LEdt_PayModeKMCode.text)='' then
// LEdt_PayModeKMCode.text:='null';
if(Add)then
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add('Insert into PayMode(PayModeCode,PayModeName,PayModeKMCode,PayModeRemArk) Values('
+''''+Edt_PayModeCode.text+''''+','''+Edt_PayModeName.Text+''','+IifString(Trim(LEdt_PayModeKMCode.text)='','null',QuotedStr(LEdt_PayModeKMCode.text))+','+
''''+Edt_PayModeRemArk.Text+''')');
//SQL.Add('….');
ExecSQL;
end;
end
Else
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add(' Update PayMode set PayModeCode='+''''+Edt_PayModeCode.text+''''+
',PayModeName='''+Edt_PayModeName.text+''','+
' PayModeKMCode='''+LEdt_PayModeKMCode.text+''','+
' PayModeRemArk='''+Edt_PayModeRemArk.text+''''+
' where PayModeCode='+''''+AdoQry_Maintain.fieldbyname('PayModeCode').asstring+'''');
//SQL.Add('….');
ExecSQL;
end;
end;
with AdoQry_Maintain do
begin
fieldbyname('PayModeCode').AsString:=Edt_PayModeCode.Text;
fieldbyname('PayModeName').AsString:=Edt_PayModeName.Text;
fieldbyname('PayModeKMCode').AsString:=LEdt_PayModeKMCode.Text;
fieldbyname('PayModeRemArk').asstring:=Edt_PayModeRemArk.Text;
Post;
end;
end;
procedure TFrm_Ap_PayMode_D.Edt_PayModeCodeExit(Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if (not BlankInStrCheck(Edt_PayModeCode.Text,'付款方式代码')) or
(not BlankCheck(Edt_PayModeCode.text,'付款方式代码')) then
begin
TWinControl(Sender).SetFocus;
abort;
end;
if(Add)or((not Add)and
(TEdit(Sender).Text<>AdoQry_Maintain.fieldbyname('PayModeCode').AsString))then
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add('Select PayModeCode From PayMode Where PayModeCode='''+TEdit(Sender).Text+'''');
Open;
if fieldbyname('PayModeCode').AsString<>'' then
begin
DispInfo('该付款方式代码已经存在,不允许增加或修改',1);
TWinControl(Sender).SetFocus;
Abort;
end;
end;
end;
end;
procedure TFrm_Ap_PayMode_D.LEdt_PayModeKMCodeKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
if(Key=120)then
CommonHint(Sender,AdoQry_Tmp,'kmName','会计科目名称','KmCode',
'会计科目代码','Gl_AccountSubject','endkm=1 and kmfreeze=0');
end;
procedure TFrm_Ap_PayMode_D.LEdt_PayModeKMCodeButtonClick(Sender: TObject);
begin
inherited;
CommonHint(Sender,AdoQry_Tmp,'kmName','会计科目名称','KmCode',
'会计科目代码','Gl_AccountSubject','endkm=1 and kmfreeze=0');
end;
procedure TFrm_Ap_PayMode_D.LEdt_PayModeKMCodeExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
abort;
if Trim(LEdt_PayModeKMCode.text)<>'' then
begin
with AdoQry_tmp do
begin
Close;
sql.clear;
sql.text:='select KmCode,kmName from Gl_AccountSubject'+
' where KmCode='''+Trim(LEdt_PayModeKMCode.text)+''''+
' and endkm=1 and kmfreeze=0';
open;
if not eof then
begin
Edt_kmName.text:=fieldbyname('kmName').asstring;
end
else
begin
DispInfo('此会计科目代码不存在!请重新输入!',3);
LEdt_PayModeKMCode.setfocus;
abort;
end;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -