📄 gl_enter_gain_d.pas
字号:
unit Gl_Enter_Gain_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, AdODB, ExtCtrls, StdCtrls, ExtEdit, Mask, linkedit;
Type
TFrm_Gl_Enter_Gain_D = Class(TFrm_Base_Detail)
Label1: TLabel;
edt_ProjectCode: TEdit;
Label8: TLabel;
cmb_issum: TComboBox;
Label2: TLabel;
edt_ProjectName: TEdit;
Label4: TLabel;
edt_lineno: TEdit;
Label3: TLabel;
edt_MonthSum: TEdit;
Label5: TLabel;
edt_Yearsum: TEdit;
procedure edt_linenoExit(Sender: TObject);
procedure btn_okClick(Sender: TObject);
private
{ Private declarations }
public
procedure InitControls; Override;
procedure SaveData;Override;
procedure SetStatus(CurrentStatus:String;var EnableControls:String); Override;
procedure CheckInfo;
{ Public declarations }
end;
var
Frm_Gl_Enter_Gain_D: TFrm_Gl_Enter_Gain_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Ar_Enter_Gathering_D }
procedure TFrm_Gl_Enter_Gain_D.CheckInfo;
var tMpstr,tmpkmCode,sqltext:string;
i,j:integer;
begin
if Add then
begin
if Trim(edt_ProjectCode.Text)='' then
begin
DispInfo('项目编号不能为空!',3);
edt_ProjectCode.SetFocus;
abort;
end;
Executesql(AdoQry_tmp,'select * from Gl_Gain where projectCode='+quotedstr(Trim(edt_ProjectCode.text)),0);
if AdoQry_tmp.RecordCount>0 then
begin
DispInfo('该项目编号已存在!',3);
edt_ProjectCode.SetFocus;
abort;
end;
end;
tMpstr:=Trim(edt_MonthSum.text);
while tMpstr<>'' do
begin
i:=pos('+',tMpstr);
j:=pos('-',tMpstr);
if (i=0) and (j=0) then
begin
tmpkmCode:=tMpstr;
tMpstr:='';
end
else
if (i=0) and (j<>0) then
begin
tmpkmCode:=copy(tMpstr,1,j-1);
tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
end
else if (i<>0) and (j=0) then
begin
tmpkmCode:=copy(tMpstr,1,i-1);
tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
end;
sqltext := IIFString(Cmb_IsSum.ItemIndex=0,
'select kmCode from Gl_AccountSubject'
+' where kmCode='+quotedstr(tmpkmCode),
' select ProjectCode from Gl_Gain '
+' where ProjectCode = '+QuotedStr(TmpKmCode)
) ;
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.RecordCount=0 then
begin
DispInfo(IIFString(Cmb_IsSum.ItemIndex=0,'科目代码','项目编号')+quotedstr(tmpkmCode)+'错误!',3);
edt_MonthSum.SetFocus;
abort;
end;
end;
tMpstr:=Trim(edt_Yearsum.text);
while tMpstr<>'' do
begin
i:=pos('+',tMpstr);
j:=pos('-',tMpstr);
if (i=0) and (j=0) then
begin
tmpkmCode:=tMpstr;
tMpstr:='';
end
else
if (i=0) and (j<>0) then
begin
tmpkmCode:=copy(tMpstr,1,j-1);
tMpstr:=copy(tMpstr,j+1,length(tMpstr)-j);
end
else if (i<>0) and (j=0) then
begin
tmpkmCode:=copy(tMpstr,1,i-1);
tMpstr:=copy(tMpstr,i+1,length(tMpstr)-i);
end;
sqltext := IIFString(Cmb_IsSum.ItemIndex=0,
'select kmCode from Gl_AccountSubject'
+' where kmCode='+quotedstr(tmpkmCode),
' select ProjectCode from Gl_Gain '
+' where ProjectCode = '+QuotedStr(TmpKmCode)
) ;
Executesql(AdoQry_tmp,sqltext,0);
if AdoQry_tmp.RecordCount=0 then
begin
DispInfo(IIFString(Cmb_IsSum.ItemIndex=0,'科目代码','项目编号')+quotedstr(tmpkmCode)+'错误!',3);
edt_Yearsum.SetFocus;
abort;
end;
end;
end;
procedure TFrm_Gl_Enter_Gain_D.InitControls;
var i:integer;
begin
if (Add) then
begin
SetFocus_Control:=edt_ProjectCode;
end
else
SetFocus_Control:=cmb_issum;
inherited;
with AdoQry_Maintain do
begin
edt_ProjectCode.Text:=AdoQry_Maintain.fieldbyname('projectCode').asstring;
cmb_issum.ItemIndex:=AdoQry_Maintain.fieldbyname('issum').asinteger;
edt_ProjectName.Text:=AdoQry_Maintain.fieldbyname('projectName').asstring;
edt_lineno.Text:=AdoQry_Maintain.fieldbyname('plineno').asstring;
edt_MonthSum.Text:=AdoQry_Maintain.fieldbyname('MonthSum').asstring;
edt_Yearsum.Text:=AdoQry_Maintain.fieldbyname('Yearsum').asstring;
if not Add then
begin
edt_ProjectCode.Enabled:=False;
cmb_issum.Enabled:=True;
end
else
begin
edt_ProjectCode.Enabled:=True;
cmb_issum.Enabled:=True;
end;
end;
end;
procedure TFrm_Gl_Enter_Gain_D.SaveData;
var sqltext:string;
AdoQry:TAdoQuery;
begin
inherited;
AdoQry:=TAdoQuery.Create(nil);
AdoQry.Connection:=dbconnect;
try
dbconnect.beginTrans;
if Add then
//新增
sqltext:='insert into Gl_Gain(projectCode,issum,'
+' projectName,plineno,MonthSum,Yearsum)'
+' Values('+quotedstr(Trim(edt_ProjectCode.text))+','
+inttostr(cmb_issum.Itemindex)+','
+quotedstr(Trim(edt_ProjectName.text))+','
+iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
+quotedstr(Trim(edt_MonthSum.text))+','
+quotedstr(Trim(edt_Yearsum.text))
+')'
else
sqltext:='update Gl_Gain'
+' set projectName='+quotedstr(Trim(edt_ProjectName.text))+','
+' plineno='+iifstring(Trim(edt_lineno.text)='','null',Trim(edt_lineno.text))+','
+' MonthSum='+quotedstr(Trim(edt_MonthSum.text))+','
+' Yearsum='+quotedstr(Trim(edt_Yearsum.text))
+'where projectCode='+quotedstr(Trim(edt_ProjectCode.text));
if Add then
begin
Executesql(AdoQry_tmp,sqltext,1);
saveGainhistory(dbconnect,Trim(edt_ProjectCode.text),userCode,0);
end
else
begin
saveGainhistory(dbconnect,Trim(edt_ProjectCode.text),userCode,1);
Executesql(AdoQry_tmp,sqltext,1);
end;
if Assigned(AdoQry) then AdoQry.Free;
dbconnect.CommitTrans;
with AdoQry_Maintain do
begin
fieldbyname('projectCode').asstring:=Trim(edt_ProjectCode.text);
fieldbyname('issum').asinteger:=cmb_issum.ItemIndex;
fieldbyname('projectName').asstring:=Trim(edt_ProjectName.text);
if Trim(edt_lineno.text)='' then
fieldbyname('plineno').asinteger:=0
else fieldbyname('plineno').asinteger:=strtoint(Trim(edt_lineno.text));
fieldbyname('MonthSum').asstring:=Trim(edt_MonthSum.text);
fieldbyname('Yearsum').asstring:=Trim(edt_Yearsum.text);
post;
end;
except
if dbconnect.InTransaction then
dbconnect.RollBackTrans;
if Assigned(AdoQry) then AdoQry.Free;
abort;
end;
end;
procedure TFrm_Gl_Enter_Gain_D.SetStatus(CurrentStatus: String;
var EnableControls: String);
begin
inherited;
end;
procedure TFrm_Gl_Enter_Gain_D.edt_linenoExit(Sender: TObject);
begin
inherited;
if Trim(edt_lineno.text)='' then exit;
integercheck(sender);
end;
procedure TFrm_Gl_Enter_Gain_D.btn_okClick(Sender: TObject);
begin
CheckInfo;//检测信息
inherited;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -