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 + -
显示快捷键?