📄 bas_enter_itemamountscrap_d.pas
字号:
unit Bas_Enter_ItemAmountScrAp_D;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Detail, Db, DBClient, ExtCtrls, StdCtrls, linkedit, AdODB;
Type
TFrm_Bas_Enter_ItemAmountScrAp_D = Class(TFrm_Base_Detail)
Edt_ItemName: TEdit;
Edt_Amount_StAr: TEdit;
Edt_Amount_End: TEdit;
Edt_ScrAp: TEdit;
Edt_RemArk: TEdit;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edt_ItemCode: TLinkEdit;
Label6: TLabel;
procedure btn_okClick(Sender: TObject);
procedure Edt_ItemCodeExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure InitControls; Override;
procedure SaveData; Override;
end;
var
Frm_Bas_Enter_ItemAmountScrAp_D: TFrm_Bas_Enter_ItemAmountScrAp_D;
implementation
uses Sys_Global;
{$R *.DFM}
{ TFrm_Bas_Enter_ItemAmountScrAp_D }
procedure TFrm_Bas_Enter_ItemAmountScrAp_D.InitControls;
begin
if Add then
begin
Edt_ItemCode.Enabled:=True;
Edt_ItemCode.SetFocus;
end
else
begin
Edt_ItemCode.Enabled:=False;
Edt_Amount_StAr.SetFocus;
end;
inherited;
with AdoQry_Maintain do
begin
Edt_ItemCode.Text:=fieldbyname('ItemCode').AsString;
Edt_ItemName.Text:=fieldbyname('ItemName').AsString;
Edt_Amount_StAr.Text:=fieldbyname('Amount_StAr').AsString;
Edt_Amount_End.Text:=fieldbyname('Amount_End').AsString;
Edt_ScrAp.Text:=fieldbyname('ScrAp').AsString;
Edt_RemArk.Text:=fieldbyname('RemArk').AsString;
end;
end;
procedure TFrm_Bas_Enter_ItemAmountScrAp_D.SaveData;
begin
inherited;
with AdoQry_Tmp do
begin
Close;
if(Add)then
SQL.Text:='Insert into Item_AmountScrAp(ItemCode,Amount_StAr,Amount_End,ScrAp,RemArk)'
+' Values('
+' '''+Edt_ItemCode.Text+''''
+','''+Edt_Amount_StAr.Text+''''
+','''+Edt_Amount_End.Text+''''
+','''+Edt_ScrAp.Text+''''
+','''+Edt_RemArk.Text+''''
+')'
else
SQL.Text:='Update Item_AmountScrAp'
+' Set Amount_StAr='''+Edt_Amount_StAr.Text+''''
+',Amount_End='''+Edt_Amount_End.Text+''''
+',ScrAp='''+Edt_ScrAp.Text+''''
+',RemArk='''+Edt_RemArk.Text+''''
+' Where id='''+AdoQry_Maintain.fieldbyname('id').asstring+'''';
ExecSQL;
end;
with AdoQry_Maintain do
begin
fieldbyname('ItemCode').AsString:=Edt_ItemCode.Text;
fieldbyname('ItemName').AsString:=Edt_ItemName.Text;
fieldbyname('Amount_StAr').AsString:=Edt_Amount_StAr.Text;
fieldbyname('Amount_End').AsString:=Edt_Amount_End.Text;
fieldbyname('ScrAp').AsString:=Edt_ScrAp.Text;
fieldbyname('RemArk').AsString:=Edt_RemArk.Text;
Post;
end;
end;
procedure TFrm_Bas_Enter_ItemAmountScrAp_D.btn_okClick(Sender: TObject);
begin
if Add then
with AdoQry_Tmp do
begin
Close;
SQL.Text:='Select * from Item_AmountScrAp where ItemCode='''+Edt_ItemCode.Text+'''';
Open;
if not IsEmpty then
while not eof do
begin
if ((strtofloat(Edt_Amount_StAr.Text)>=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_StAr.Text)<=strtofloat(fieldbyname('Amount_End').AsString))) or
((strtofloat(Edt_Amount_End.Text)>=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_End.Text)<=strtofloat(fieldbyname('Amount_End').AsString))) or
((strtofloat(Edt_Amount_StAr.Text)<=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_End.Text)>=strtofloat(fieldbyname('Amount_End').AsString))) then
begin
DispInfo('该数量段与现有数量段重叠!',3);
exit;
end;
next;
end;
end
else
with AdoQry_Tmp do
begin
Close;
SQL.Text:='Select * from Item_AmountScrAp where ItemCode='''+Edt_ItemCode.Text+''' '+
'and id<>'''+AdoQry_Maintain.fieldbyname('id').asstring+'''';
Open;
if not IsEmpty then
while not eof do
begin
if ((strtofloat(Edt_Amount_StAr.Text)>=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_StAr.Text)<=strtofloat(fieldbyname('Amount_End').AsString))) or
((strtofloat(Edt_Amount_End.Text)>=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_End.Text)<=strtofloat(fieldbyname('Amount_End').AsString))) or
((strtofloat(Edt_Amount_StAr.Text)<=strtofloat(fieldbyname('Amount_StAr').AsString)) and
(strtofloat(Edt_Amount_End.Text)>=strtofloat(fieldbyname('Amount_End').AsString))) then
begin
DispInfo('该数量段与现有数量段重叠!',3);
exit;
end;
next;
end;
end;
inherited;
end;
procedure TFrm_Bas_Enter_ItemAmountScrAp_D.Edt_ItemCodeExit(
Sender: TObject);
begin
inherited;
if ActiveControl.Name='btn_Cancel' then
exit;
if (not BlankInStrCheck(Edt_ItemCode.Text,'物料代码')) or
(not BlankCheck(Edt_ItemCode.text,'物料代码')) then
begin
TWinControl(Sender).SetFocus;
abort;
end;
AdoQry_Tmp.Close;
AdoQry_Tmp.SQL.Text:=' Select * From Item Where ItemCode='''+Trim(Edt_ItemCode.Text)+'''';
AdoQry_Tmp.Open;
If AdoQry_Tmp.RecordCount<=0 Then
begin
DispInfo('此物料代码不存在!',3);
Twincontrol(Sender).SetFocus;
Abort;
end;
Edt_ItemName.Text := AdoQry_Tmp.fieldbyname('ItemName').AsString;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -