📄 bas_itemclass_d.pas
字号:
unit Bas_ItemClass_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, StdCtrls, Db, AdODB, ExtCtrls, ExtEdit, ComCtrls, ActnList;
Type
TFrm_Bas_ItemClass_D = Class(TFrm_Base_Detail)
Label1: TLabel;
Lbl_MasterCode: TLabel;
lbl_MasterName: tlabel;
Label7: TLabel;
Label9: TLabel;
Label15: TLabel;
Edt_ItemCode: TEdit;
Label2: TLabel;
Edt_RemArk: TEdit;
edt_ItemName: TEdit;
procedure FormCreate(Sender: TObject);
procedure Edt_ItemCodeExit(Sender: TObject);
procedure btn_okClick(Sender: TObject);
procedure edt_ItemNameExit(Sender: TObject);
private
lc_ItemExist:Boolean;
lc_TempBuffer:string;
fPmCode:integer;
Lc_Identity:integer;
procedure InsertBom; //插入Bom
procedure UpdateBom; //修改Bom
//是否存在替代虚项
{ Private declarations }
public
MasterCode:string;
SlaveCode:string;
procedure SaveData;Override;
procedure InitControls;Override;
{ Public declarations }
end;
var
Frm_Bas_ItemClass_D: TFrm_Bas_ItemClass_D;
implementation
uses Sys_Global,Bas_ItemClass;
{$R *.DFM}
procedure TFrm_Bas_ItemClass_D.InitControls;
var
T_Sql:string;
T_ItemCode:string;
T_Type:integer;
begin
if edt_ItemCode.CanFocus then
edt_ItemCode.SetFocus ;
inherited;
Lbl_MasterCode.Caption:=Frm_Bas_ItemClass.Edt_Ite_ItemCode.Text ;
lbl_MasterName.Caption:=Frm_Bas_ItemClass.Lbl_Name_D.Caption ;
if AdoQry_Maintain.Active then
begin
with AdoQry_Maintain do
begin
Edt_ItemCode.Text:=fieldbyname('ClassCode').AsString;
edt_ItemName.Text:=fieldbyname('ClassName').AsString;
Edt_RemArk.Text:=fieldbyname('ClassRemArk').AsString;
end;
end;
end;
procedure TFrm_Bas_ItemClass_D.SaveData;
begin
inherited;
// AdoQry_tmp.Connection.beginTrans;
if (Add) then //新增的情况
begin
InsertBom;
//插入到LOG中
end
else
begin
UpdateBom;
end;
with AdoQry_Maintain do
begin
fieldbyname('pClassCode').asstring:=lbl_MasterCode.Caption ;
fieldbyname('ClassCode').AsString:=Edt_ItemCode.Text;
fieldbyname('ClassName').AsString:=edt_ItemName.Text ;
fieldbyname('ClassRemArk').AsString:=Edt_RemArk.Text;
post;
end;
end;
procedure TFrm_Bas_ItemClass_D.FormCreate(Sender: TObject);
begin
inherited;
//变量初始化
MasterCode:='';
SlaveCode:='';
Lc_ItemExist:=False;
lc_TempBuffer:='';
Lc_Identity:=0;
//LABEL初始化
Lbl_MasterCode.Caption:='';
lbl_MasterName.Caption:='';
edt_ItemName.Text :='';
end;
procedure TFrm_Bas_ItemClass_D.Edt_ItemCodeExit(Sender: TObject);
begin
if(ActiveControl.Name='btn_Cancel')then
exit;
//先判断父项子项是否相同,相同则退出
if Lbl_MasterCode.Caption=Edt_ItemCode.Text then
begin
DispInfo('父项和子项不能相同!',1);
TWinControl(Sender).SetFocus;
Abort;
end;
if edt_ItemCode.Text ='' then
begin
DispInfo('子项代码不能为空!',1);
TWinControl(Sender).SetFocus;
Abort;
end
else if status='Add' then
begin
with AdoQry_tmp do
begin
Close;
sql.Text :='select * from ItemClass where ClassCode='''+edt_ItemCode.text+'''';
open;
if not eof then
begin
DispInfo('该子项代码已存在,不允许再增加!',1);
TWinControl(Sender).SetFocus;
abort;
end;
end;
end
else if status='Edit' then
begin
if edt_ItemCode.text<>AdoQry_Maintain.fieldbyname('ClassCode').asstring then
begin
with AdoQry_tmp do
begin
Close;
sql.Text :='select * from ItemClass where ClassCode='''+edt_ItemCode.text+'''';
open;
if not eof then
begin
DispInfo('该子项代码已存在,不允许这样修改!',1);
edt_ItemCode.Text :=AdoQry_Maintain.fieldbyname('ClassCode').asstring;
TWinControl(Sender).SetFocus;
abort;
end;
end;
end;
end;
//判断输入的对应关系是否已经存在
inherited;
end;
procedure TFrm_Bas_ItemClass_D.UpdateBom;
begin
with AdoQry_Tmp do
begin
Close;
SQL.clear;
SQL.Add( 'Update ItemClass '+
' set '+
' ClassCode='''+Edt_ItemCode.Text+''','+
' ClassName='''+edt_ItemName.text+''','+
' ClassRemArk='''+Edt_RemArk.Text+''''+
' where ClassCode='''+AdoQry_Maintain.fieldbyname('ClassCode').asstring+''' '+
' update ItemClass set pClassCode='''+edt_ItemCode.text+''' '+
' where pClassCode='''+AdoQry_Maintain.fieldbyname('ClassCode').asstring+''' ');
ExecSQL;
end;
end;
procedure TFrm_Bas_ItemClass_D.InsertBom;
var
ClassgrAde:integer;
begin
ClassgrAde:=1;
with AdoQry_Tmp do
begin
if Trim(lbl_MasterCode.Caption)<>'' then
begin
Close;
SQL.clear;
sql.Add('select ClassgrAde from ItemClass where ClassCode='+quotedstr(lbl_MasterCode.Caption));
open;
if not eof then
ClassgrAde:=fieldbyname('ClassgrAde').asinteger+1;
end;
Close;
SQL.clear;
SQL.Add('Insert into '+
'ItemClass(pClassCode, '+
' ClassCode,'+
' ClassName, '+
' ClassRemArk,ClassgrAde) '+
'Values('''+lbl_MasterCode.Caption+''', '+
' '''+Edt_ItemCode.Text+''','+
' '''+edt_ItemName.text+''','+
' '''+Edt_RemArk.Text+''','+inttostr(ClassgrAde)+')');
execsql;
end;
end;
procedure TFrm_Bas_ItemClass_D.btn_okClick(Sender: TObject);
begin
//给全局变量赋值
inherited;
end;
procedure TFrm_Bas_ItemClass_D.edt_ItemNameExit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then
exit;
if edt_ItemName.Text ='' then
begin
DispInfo('子项描述不能为空!',1);
if edt_ItemName.CanFocus then
edt_ItemName.SetFocus ;
abort;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -