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

📄 find_zcf002.pas

📁 培训管理系统
💻 PAS
字号:
unit find_zcf002;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, DBTables, Wwquery, StdCtrls, Buttons, Mask, wwdbedit,
  Wwdotdot, ComCtrls, wwdbdatetimepicker;

type
  Tfind_zcf002f = class(TForm)
    ScrollBox1: TScrollBox;
    GroupBox1: TGroupBox;
    Btn_Search: TBitBtn;
    Btn_Cancel: TBitBtn;
    equ_positioncode: TwwDBComboDlg;
    equ_positionname: TEdit;
    Label1: TLabel;
    Data_query: TwwQuery;
    position_typecode: TwwDBComboDlg;
    position_typename: TEdit;
    Label2: TLabel;
    procedure FormCreate(Sender: TObject);
    procedure EditEnter(Sender: TObject);
    procedure EditExit(Sender:Tobject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure Btn_SearchClick(Sender: TObject);
    procedure Btn_CancelClick(Sender: TObject);
    procedure equ_positioncodeCustomDlg(Sender: TObject);
    procedure equ_positioncodeKeyPress(Sender: TObject; var Key: Char);
    procedure position_typecodeCustomDlg(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    filter_sql,find_bill: string;
    MAXTABORDER :integer;
  end;

var
  find_zcf002f: Tfind_zcf002f;

implementation
uses ppublic,pdatabse,main;
{$R *.dfm}

procedure Tfind_zcf002f.FormCreate(Sender: TObject);
begin
  MAXTABORDER:=10;
end;

procedure Tfind_zcf002f.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
  begin
   key:=#0;
   if ActiveControl <> nil then
      if ActiveControl.TabOrder<MAXTABORDER then
      selectnext(Activecontrol,True,True);
  end;
end;

procedure Tfind_zcf002f.EditEnter(Sender: TObject);
 begin
   TEdit(Sender).Color                :=clyellow;
   TwwDBEdit(Sender).Color            :=clyellow;
   TwwDBComboDlg(Sender).Color        :=clyellow;
   TwwdbDatetimePicker(sender).color  :=clYellow;
end;

procedure Tfind_zcf002f.EditExit(Sender:Tobject);
begin
   TEdit(Sender).Color                :=clwindow;
   TwwDBEdit(Sender).Color            :=clwindow;
   TwwDBComboDlg(Sender).Color        :=clwindow;
   TwwdbDatetimePicker(sender).color  :=clwindow;
end;

procedure Tfind_zcf002f.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   case Key of
      VK_DOWN:
      begin
         Key := 0;
         if ActiveControl<>nil then         
         if TWinControl(ActiveControl).TabOrder < MAXTABORDER then
            SelectNext(ActiveControl, True, True);
      end;
      VK_UP:
      begin
         Key := 0;
         if ActiveControl<>nil then         
         if TWinControl(ActiveControl).TabOrder <> 0 then
            SelectNext(ActiveControl, False, True);
      end;
   end;
end;

procedure Tfind_zcf002f.Btn_SearchClick(Sender: TObject);
var sql1,sql2 :string;
begin
  sql1:='';

  if equ_positioncode.Text<>'' then
   if trim(sql1)='' then sql1:='where equ_positioncode='+''''+equ_positioncode.text+''''
       else sql1:=trim(sql1)+' and equ_positioncode='+''''+equ_positioncode.Text+'''';

  if position_typecode.Text<>'' then
   if trim(sql1)='' then sql1:='where position_typecode='+''''+position_typecode.text+''''
       else sql1:=trim(sql1)+' and position_typecode='+''''+position_typecode.Text+'''';


 if trim(sql1)='' then
 begin
   sql1:='select '' '' as xh,equ_positioncode,equ_positionname,position_typecode,position_typename from equ_position_view ';
   if filter_sql<>'' then sql1:=sql1+' where '+filter_sql;
 end
 else
 begin
   sql1:='select '' '' as xh,equ_positioncode,equ_positionname,position_typecode,position_typename from equ_position_view '+sql1;
   if filter_sql<>'' then sql1:=sql1+' and '+filter_sql;
 end;

 sql1:= sql1+' order by equ_positioncode';
 data_query.Close;
 data_query.Sql.Text:=sql1;
 try
   Data_query.Open;
   if Data_query.IsEmpty  then
   begin
     showmessage('没有符合条件的资料');
     Data_Query.Close;
     find_bill:='';
     exit;
   end;
   if Data_Query.RecordCount=1 then begin find_bill:='('''+Data_Query.fields[1].text+''')'; modalresult:=mrok end;
      if Data_Query.RecordCount>1 then  //如果超过一笔记录,则弹出查询窗口
      begin
        sql2:='select equ_coursecode,equ_coursename from equ_positionreq_define_view where equ_positioncode=:equ_positioncode';
        find_bill:=bill_find(sql1,sql2,'equ_position','equ_positionreq_define',self,1);
        if find_bill='' then modalresult:=mrcancel else modalresult:=mrok;
      end;
    except
      showmessage('查询语句语法错误');
      find_bill:='';
      data_Query.Close;
    end;

end;

procedure Tfind_zcf002f.Btn_CancelClick(Sender: TObject);
begin
   modalresult:=mrCancel;
end;

procedure Tfind_zcf002f.equ_positioncodeCustomDlg(Sender: TObject);
var str,l_sql:string;
    tempquery:tquery;
begin
  inherited;
  l_sql:='select equ_positioncode,equ_positionname from equ_position order by equ_positioncode';
  str:=basci_search(l_sql,'equ_position',self);
  if str<>'' then
    begin
      equ_positioncode.Text:=str;
      tempquery:=tquery.Create(self);
       try
        tempquery.DatabaseName:='train';
        tempquery.SQL.Add('select equ_positionname from equ_position where equ_positioncode='+''''+equ_positioncode.Text+'''');
        tempquery.open;
        if not tempquery.isempty then
         equ_positionname.Text:=tempquery.fieldbyname('equ_positionname').AsString;
       finally
       tempquery.free;
       end;
    end;
end;

procedure Tfind_zcf002f.equ_positioncodeKeyPress(Sender: TObject;
  var Key: Char);
begin
 key:=#0;
end;

procedure Tfind_zcf002f.position_typecodeCustomDlg(Sender: TObject);
var str:string;
    l_sql:string;
    tempquery:tquery;
begin
  inherited;
  l_sql:='select position_typecode,position_typename from position_type order by position_typecode';
  str:=basci_search(l_sql,'position_type',self);
  if str<>'' then
  begin
     position_typecode.Text := str;
     tempquery:=tquery.Create(self);
     try
        tempquery.DatabaseName:='train';
        tempquery.SQL.Add('select position_typename from position_type where position_typecode='+''''+str+'''');
        tempquery.open;
      if not tempquery.isempty then
         position_typename.Text:=tempquery.fieldbyname('position_typename').AsString;
     finally
       tempquery.free;
     end;
  end;
end;

end.

⌨️ 快捷键说明

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