⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 inv_whaccessctrl_d.pas

📁 一个MRPII系统源代码版本
💻 PAS
字号:
unit Inv_WhAccessCtrl_D;

Interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Base_Detail, StdCtrls, Db, AdODB, ExtCtrls, ExtEdit, linkedit;

Type
  TFrm_Inv_WhAccessCtrl_D = Class(TFrm_Base_Detail)
    Label1: TLabel;
    Label2: TLabel;
    lbl_EmployeeName1: TLabel;
    lbl_WhName1: TLabel;
    lbl_EmployeeName: TEdit;
    ExtEdt_EmployeeCode: TLinkEdit;
    ExtEdt_WhCode: TLinkEdit;
    lbl_WhName: TEdit;
    procedure FormCreate(Sender: TObject);
    procedure btn_okClick(Sender: TObject);
    procedure ExtEdt_EmployeeCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ExtEdt_EmployeeCodeButtonClick(Sender: TObject);
    procedure ExtEdt_EmployeeCodeExit(Sender: TObject);
    procedure ExtEdt_WhCodeKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure ExtEdt_WhCodeButtonClick(Sender: TObject);
    procedure ExtEdt_WhCodeExit(Sender: TObject);
  private
    procedure InitControls; Override;
    procedure SaveData; Override;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Frm_Inv_WhAccessCtrl_D: TFrm_Inv_WhAccessCtrl_D;

implementation

uses Sys_Global;
{$R *.DFM}

procedure TFrm_Inv_WhAccessCtrl_D.InitControls;
begin
  inherited;
  with AdoQry_Maintain do
  begin
    ExtEdt_EmployeeCode.Text:=fieldbyname('EmployeeCode').AsString;
    lbl_EmployeeName.text:=fieldbyname('EmployeeName').AsString;
    ExtEdt_WhCode.Text:=fieldbyname('whCode').AsString;
    lbl_WhName.text:=fieldbyname('whName').AsString;
 end;
end;

procedure TFrm_Inv_WhAccessCtrl_D.SaveData;
begin
  Inherited;
  if (Add) then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      sql.Add('Insert whAccessCtrl(EmployeeCode,'+
                              'whCode)'+
                      'ValueS ('''+ExtEdt_EmployeeCode.text+''','+
                              ''''+ExtEdt_WhCode.text+''')');
    ExecSQL;
    end
  end
  else
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      sql.Add('update whAccessCtrl set '+
                              'EmployeeCode='''+ExtEdt_EmployeeCode.text+''','+
                              'whCode='''+ExtEdt_WhCode.text+''''+
                 ' Where EmployeeCode='''+AdoQry_Maintain.fieldbyname('EmployeeCode').AsString+''' and whCode='''+AdoQry_Maintain.fieldbyname('whCode').AsString+'''');
      ExecSQL;
    end
  end;
  //给AdoQry_Item各字段赋值
  with AdoQry_Maintain do
  begin
    fieldbyname('EmployeeCode').asstring:=ExtEdt_EmployeeCode.text;
    fieldbyname('EmployeeName').asstring:=lbl_EmployeeName.text;
    fieldbyname('whCode').asstring:=ExtEdt_WhCode.text;
    fieldbyname('whName').asstring:=lbl_WhName.text;
  Post;
  end;
end;

procedure TFrm_Inv_WhAccessCtrl_D.FormCreate(Sender: TObject);
begin
  inherited;
  SetFocus_Control:=ExtEdt_WhCode;
end;

procedure TFrm_Inv_WhAccessCtrl_D.btn_okClick(Sender: TObject);
begin
  if (Add) then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add('Select Count(*) as RecCount From whAccessCtrl Where EmployeeCode='''+Extedt_EmployeeCode.text+''' and whCode='''+Extedt_WhCode.text+'''');
      Open;
      if fieldbyname('recCount').asinteger<>0 then
      begin
        DispInfo('该使用者对该仓库已经有使用权限!',1);
        TWinControl(Sender).SetFocus;
        Abort;
      end;
    end;
  end;

  if (not Add) and ((Extedt_EmployeeCode.Text<>AdoQry_Maintain.fieldbyname('EmployeeCode').AsString) or
                    (Extedt_WhCode.Text<>AdoQry_Maintain.fieldbyname('whCode').AsString)) then
  begin
    with AdoQry_Tmp do
    begin
      Close;
      SQL.clear;
      SQL.Add('Select Count(*) as RecCount From whAccessCtrl Where EmployeeCode='''+Extedt_EmployeeCode.text+''' and whCode='''+Extedt_WhCode.text+'''');
      Open;
      if fieldbyname('recCount').asinteger<>0 then
      begin
        DispInfo('该使用者对该仓库已经有使用权限!',1);
        TWinControl(Sender).SetFocus;
        Abort;
      end;
    end;
  end;
  inherited;
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_EmployeeCodeKeyDown(
  Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;
  if(Key=120)then
    CommonHint(Sender,AdoQry_Tmp,'EmployeeName','使用者名称','EmployeeCode','使用者代码','Vw_Operator');
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_EmployeeCodeButtonClick(
  Sender: TObject);
begin
  inherited;
  CommonHint(Sender,AdoQry_Tmp,'EmployeeName','使用者名称','EmployeeCode','使用者代码','Vw_Operator');
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_EmployeeCodeExit(Sender: TObject);
begin
  inherited;
  if(ActiveControl.Name='btn_Cancel')then
    Abort;
  with AdoQry_tmp do
  begin
    Close;
    Sql.clear;
    sql.text:='select EmployeeName from Vw_Operator where EmployeeCode='''+Trim(ExtEdt_EmployeeCode.text)+'''';
    open;
    lbl_EmployeeName.text:=fieldbyname('EmployeeName').asstring;
  end;
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_WhCodeKeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
  inherited;
  if(Key=120)then
    CommonHint(Sender,AdoQry_Tmp,'WHName','仓库名称','WHCode','仓库代码','Warehouse');
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_WhCodeButtonClick(Sender: TObject);
begin
  inherited;
  CommonHint(Sender,AdoQry_Tmp,'WHName','仓库名称','WHCode','仓库代码','Warehouse');
end;

procedure TFrm_Inv_WhAccessCtrl_D.ExtEdt_WhCodeExit(Sender: TObject);
begin
  inherited;
  With AdoQry_tmp do
  begin
    Close;
    sql.clear;
    sql.text:='select WHName from Warehouse where WhCode ='''+Trim(ExtEdt_WhCode.text)+'''';
    open;
    lbl_WhName.text:=fieldbyname('WHName').asstring;
  end;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -