📄 mrp_qry_oblongmrp1_c.pas
字号:
unit Mrp_Qry_OblongMrp1_C;
Interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Base_Condition, StdCtrls, Db, AdODB, ExtEdit;
Type
TFrm_Mrp_Qry_OblongMrp1_C = Class(TFrm_Base_Condition)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TExtEdit;
Edit2: TExtEdit;
Label5: TLabel;
Label6: TLabel;
procedure Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure btn_okClick(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure Edit2Exit(Sender: TObject);
private
{ Private declarations }
public
procedure gettmpItems; { Public declarations }
function iifstring(condition:boolean;Value1,Value2:string):string;
function existsItem(userCode:string;userType:integer):boolean;
function geTEmployeeName(Code:string):string;
end;
var
Frm_Mrp_Qry_OblongMrp1_C: TFrm_Mrp_Qry_OblongMrp1_C;
implementation
uses Sys_Global;
{$R *.DFM}
procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit1KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'EmployeeName','采购员名称','EmployeeCode',
'采购员代码','Employee ','exists(select * from buyer where Employee.EmployeeCode=buyer.EmployeeCode and buyerUsable=1) ');
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit2KeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
inherited;
If key=120 Then
CommOnHint(Sender,AdoQry_Tmp,'EmployeeName','采购员名称','EmployeeCode',
'采购员代码','Employee ','exists(select * from Planner where Employee.EmployeeCode=Planner.EmployeeCode and PlannerUsable=1) ');
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.gettmpItems;
var AdoQry:TAdoQuery;
sqltext:string;
user:string;
begin
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=AdoQry_tmp.Connection;
if ((Trim(edit1.text)='') and (Trim(edit2.text)='')) then user:=''
else
user:=iifstring(Trim(edit1.text)='',Trim(edit2.text),Trim(edit1.text));
sqltext:='select ItemCode into #ttmpItems from Item where '
+iifstring(Trim(edit1.text)='','Pla_EmployeeCode','EmployeeCode')
+'='+quotedstr(user)+' or '+quotedstr(user)+'=''''';
try
Executesql(AdoQry,sqltext,1);
finally
AdoQry.Free;
end;
end;
function TFrm_Mrp_Qry_OblongMrp1_C.iifstring(condition: boolean; Value1,
Value2: string): string;
begin
Result:=Value1;
if condition=False then Result:=Value2;
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.btn_okClick(Sender: TObject);
begin
// inherited;
if Assigned(edit1.onexit) then
edit1.OnExit(sender);
if Assigned(edit2.onexit) then
edit2.OnExit(sender);
if (Trim(edit1.text)<>'') and (Trim(edit2.text)<>'') then
begin
DispInfo('不能同时输入采购员代码和计划员代码,请修改!',3);
modalResult:=mrnone;
exit;
end;
gettmpItems;
modalResult:=mrok;
end;
function TFrm_Mrp_Qry_OblongMrp1_C.existsItem(userCode: string;
userType: integer): boolean;
var AdoQry:TAdoQuery;
sqltext:string;
begin
Result:=False;
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=AdoQry_tmp.Connection;
sqltext:='select EmployeeCode from '+iifstring(userType=2,'Planner','buyer')
+' where EmployeeCode='+quotedstr(userCode);
try
Executesql(AdoQry,sqltext,0);
if AdoQry.RecordCount>0 then Result:=True;
finally
AdoQry.Free;
end;
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit1Exit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then exit;
label4.Caption:=geTEmployeeName(Trim(edit1.text));
if Trim(edit2.Text)<>'' then exit;
if Trim(edit1.text)='' then exit;
if not existsItem(Trim(edit1.text),1) then
begin
DispInfo('输入了错误的采购员代码!',3);
modalResult:=mrnone;
edit1.SetFocus;
abort;
end;
//modalResult:=mrok;
end;
procedure TFrm_Mrp_Qry_OblongMrp1_C.Edit2Exit(Sender: TObject);
begin
inherited;
if activecontrol.Name='btn_Cancel' then exit;
label6.Caption:=geTEmployeeName(Trim(edit2.text));
if Trim(edit1.Text)<>'' then exit;
if Trim(edit2.text)='' then exit;
if not existsItem(Trim(edit2.text),2) then
begin
DispInfo('输入了错误的计划员代码!',3);
modalResult:=mrnone;
edit2.SetFocus;
abort;
end;
end;
function TFrm_Mrp_Qry_OblongMrp1_C.geTEmployeeName(Code: string): string;
var AdoQry:TAdoQuery;
sqltext:string;
begin
Result:='';
AdoQry:=TAdoQuery.Create(self);
AdoQry.Connection:=AdoQry_tmp.Connection;
sqltext:='select EmployeeName from Employee '
+' where EmployeeCode='+quotedstr(Code);
try
Executesql(AdoQry,sqltext,0);
Result:=AdoQry.fieldbyname('EmployeeName').asstring;
finally
AdoQry.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -