medset.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 241 行

PAS
241
字号
unit medset;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Db, ADODB, Grids, DBGrids, ComCtrls, ImgList, ExtCtrls, DBCtrls, ToolWin,
  Menus, StdCtrls;

type
  TFormmedset = class(TForm)
    ControlBar1: TControlBar;
    ToolBar1: TToolBar;
    tblpev: TToolButton;
    tblpnt: TToolButton;
    ToolButton3: TToolButton;
    tbladd: TToolButton;
    tbldel: TToolButton;
    ToolButton11: TToolButton;
    tblsave: TToolButton;
    tblcancel: TToolButton;
    ToolButton16: TToolButton;
    Find: TToolButton;
    tblseeall: TToolButton;
    ImageList1: TImageList;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    DBGrid1: TDBGrid;
    DBGrid2: TDBGrid;
    Qrymed: TADOQuery;
    Qrydoctor: TADOQuery;
    DSmedset: TDataSource;
    Qrymedmedno: TStringField;
    Qrymedmedname: TStringField;
    Qrymedunit: TStringField;
    Qrymedprice: TBCDField;
    Qrymedpics: TIntegerField;
    Qrymedvalidrq: TStringField;
    Qrymedaddress: TStringField;
    Qrymedmemo: TStringField;
    Qrydoctorworkno: TStringField;
    Qrydoctorcardno: TStringField;
    Qrydoctordoctorname: TStringField;
    Qrydoctorsex: TStringField;
    Qrydoctorage: TIntegerField;
    Qrydoctordegress: TStringField;
    Qrydoctorspec: TStringField;
    Qrydoctorexperience: TBCDField;
    Qrydoctormemo: TStringField;
    DBGrid3: TDBGrid;
    Sort: TToolButton;
    MainMenu1: TMainMenu;
    MenuItem1: TMenuItem;
    MenuItem2: TMenuItem;
    DBNavigator1: TDBNavigator;
    ToolButton2: TToolButton;
    ToolButton4: TToolButton;
    ToolButton5: TToolButton;
    procedure PageControl1Change(Sender: TObject);
    procedure DBGrid2KeyPress(Sender: TObject; var Key: Char);
    procedure DBGrid1DblClick(Sender: TObject);
    procedure DBGrid3Exit(Sender: TObject);
    procedure DBGrid3DblClick(Sender: TObject);
    procedure QrydoctorworknoChange(Sender: TField);
    procedure tbladdClick(Sender: TObject);
    procedure tbldelClick(Sender: TObject);
    procedure tblsaveClick(Sender: TObject);
    procedure tblcancelClick(Sender: TObject);
    procedure tblseeallClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure tblexitClick(Sender: TObject);
    procedure SortClick(Sender: TObject);
    procedure FindClick(Sender: TObject);
    procedure PageControl1Changing(Sender: TObject;
      var AllowChange: Boolean);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Formmedset: TFormmedset;

implementation

uses datamol,main,publicfunction, SortField, Find;
{$R *.DFM}

procedure TFormmedset.PageControl1Change(Sender: TObject);
begin
  (sender as Tpagecontrol).activepage.highlighted:=true;
     case pagecontrol1.ActivePageIndex of
      0: dsmedset.DataSet:=qrymed;
      1: dsmedset.dataset:=qrydoctor;
     end;
end;

procedure TFormmedset.DBGrid2KeyPress(Sender: TObject; var Key: Char);
begin
      dbgrid_keypress(sender,key);
end;

procedure TFormmedset.DBGrid1DblClick(Sender: TObject);
begin
     if (dbgrid1.SelectedIndex in [0..2]) then
     begin
        dbgrid3.Visible:=true;
        dbgrid3.SetFocus;
     end;
end;

procedure TFormmedset.DBGrid3Exit(Sender: TObject);
begin
     dbgrid3.Visible:=false;
end;

procedure TFormmedset.DBGrid3DblClick(Sender: TObject);
begin
     qrydoctor.edit;
     qrydoctorworkno.asstring:=datamod.adopersonalworkno.asstring;
     dbgrid3.Visible:=false;
     dbgrid1.SetFocus;
     dbgrid1.SelectedIndex:=7;
end;

procedure TFormmedset.QrydoctorworknoChange(Sender: TField);
begin
      with datamod do
      begin
           query1.Close;
           query1.sql.text:='select * from med02010 where workno='''+adopersonalworkno.asstring+''' ';
           query1.open;
           if not query1.Eof then
           begin
                qrydoctorcardno.asstring:=Query1.fieldbyname('cardno').asstring;
                qrydoctordoctorname.asstring:=Query1.Fieldbyname('name').asstring;
                qrydoctorsex.asstring:=query1.fieldbyname('sexname').asstring;
                qrydoctorage.AsInteger:=query1.fieldbyname('age').asinteger;
                qrydoctordegress.asstring:=query1.fieldbyname('degreename').asstring;
                qrydoctorspec.asstring:=query1.fieldbyname('coursename').asstring;
           end else
           begin
                application.messagebox('你输入了一个不存在的工号,请重新输入','工号错误',mb_okcancel+mb_iconerror);
///                dbgrid1.selectedindex:=0;
           end;
      end;
end;

procedure TFormmedset.tbladdClick(Sender: TObject);
begin
      dsmedset.dataset.append;
end;

procedure TFormmedset.tbldelClick(Sender: TObject);
begin
     if application.MessageBox('你确定要删除这笔资料吗?','删除确定',mb_okcancel+mb_iconquestion)=idok then
        dsmedset.DataSet.delete;
end;

procedure TFormmedset.tblsaveClick(Sender: TObject);
begin
      if dsmedset.DataSet.modified then
         dsmedset.dataset.post;
end;

procedure TFormmedset.tblcancelClick(Sender: TObject);
begin
     dsmedset.DataSet.cancel;
end;

procedure TFormmedset.tblseeallClick(Sender: TObject);
begin
     with dsmedset.DataSet do
     begin
          disablecontrols;
          filter:='';
          filtered:=true;
          enablecontrols;
     end;
end;

procedure TFormmedset.FormCreate(Sender: TObject);
begin
     qrymed.open;
     qrydoctor.open;
     datamod.adopersonal.open;
end;

procedure TFormmedset.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
begin
     qrymed.close;
     qrydoctor.close;
//     datamod.adopersonal.close;
end;

procedure TFormmedset.FormClose(Sender: TObject; var Action: TCloseAction);
begin
     formmedset:=nil;
     action:=cafree;
end;

procedure TFormmedset.tblexitClick(Sender: TObject);
begin
      close;
end;

procedure TFormmedset.SortClick(Sender: TObject);
begin
     formsortfield:=TFormsortfield.create(application);
     case pagecontrol1.ActivePageIndex of
       0: SortGrid:=DBGrid2;
       1: SortGrid:=DBGrid1;
     end;
     formsortfield.showmodal;
     formsortfield.free;
end;

procedure TFormmedset.FindClick(Sender: TObject);
begin
     FormFind:=TFormFind.Create(Application);
     case pagecontrol1.ActivePageIndex of
      0: Data:=DBGrid2.Datasource.Dataset;
      1: Data:=DBGrid1.Datasource.Dataset;
     end;
     FormFind.Showmodal;
     Formfind.free;
end;

procedure TFormmedset.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
begin
  (sender as Tpagecontrol).activepage.highlighted:=false;
end;

end.

⌨️ 快捷键说明

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