📄 findfrm.pas
字号:
unit Findfrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, RzButton, ExtCtrls, RzPanel, RzTabs, Grids, DBGrids, StdCtrls,
RzLabel, RzRadChk, Mask, RzEdit,ComObj,DB, ADODB;
type
TFind = class(TForm)
RzpgCtrl1: TRzPageControl;
rztbshtTabSheetEmployee: TRzTabSheet;
rztbshtTabSheetKaoQin: TRzTabSheet;
rztbshtTabSheetChenJiang: TRzTabSheet;
rztbshtTabSheetLvLi: TRzTabSheet;
rztbshtTabSheetZhiChen: TRzTabSheet;
rztbshtTabSheetGongZi: TRzTabSheet;
dbgrd1: TDBGrid;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
DBGrid4: TDBGrid;
DBGrid5: TDBGrid;
rzpnl2: TRzPanel;
RzPanel7: TRzPanel;
rzpnl3: TRzPanel;
rzpnl4: TRzPanel;
rzbtbtnSearch: TRzBitBtn;
RzBitBtn17: TRzBitBtn;
RzBitBtn19: TRzBitBtn;
RzBitBtn20: TRzBitBtn;
RzPanel6: TRzPanel;
RzPanel10: TRzPanel;
RzBitBtn13: TRzBitBtn;
RzBitBtn14: TRzBitBtn;
RzPanel11: TRzPanel;
RzPanel12: TRzPanel;
RzBitBtn15: TRzBitBtn;
RzBitBtn16: TRzBitBtn;
RzPanel5: TRzPanel;
RzPanel9: TRzPanel;
RzBitBtn9: TRzBitBtn;
RzBitBtn10: TRzBitBtn;
RzPanel13: TRzPanel;
RzPanel14: TRzPanel;
RzBitBtn11: TRzBitBtn;
RzBitBtn12: TRzBitBtn;
RzPanel4: TRzPanel;
RzPanel8: TRzPanel;
RzBitBtn5: TRzBitBtn;
RzBitBtn6: TRzBitBtn;
RzPanel15: TRzPanel;
RzPanel16: TRzPanel;
RzBitBtn7: TRzBitBtn;
RzBitBtn8: TRzBitBtn;
RzPanel2: TRzPanel;
RzPanel3: TRzPanel;
RzBitBtn1: TRzBitBtn;
RzBitBtn2: TRzBitBtn;
RzPanel17: TRzPanel;
RzPanel18: TRzPanel;
RzBitBtn3: TRzBitBtn;
RzBitBtn4: TRzBitBtn;
RzPanel1: TRzPanel;
RzPanel19: TRzPanel;
RzBitBtn21: TRzBitBtn;
RzBitBtn22: TRzBitBtn;
RzPanel20: TRzPanel;
RzPanel21: TRzPanel;
RzBitBtn23: TRzBitBtn;
RzBitBtn24: TRzBitBtn;
rzpnl5: TRzPanel;
RzPanel22: TRzPanel;
RzPanel23: TRzPanel;
RzPanel24: TRzPanel;
RzPanel25: TRzPanel;
RzPanel26: TRzPanel;
lbl1: TRzLabel;
lbl4: TRzLabel;
edtName: TRzEdit;
edtZW: TRzEdit;
edtBM: TRzEdit;
lbl2: TRzLabel;
edtName1: TRzEdit;
RzLabel1: TRzLabel;
edtZW1: TRzEdit;
RzLabel2: TRzLabel;
edtBM1: TRzEdit;
RzLabel3: TRzLabel;
edtName2: TRzEdit;
RzLabel4: TRzLabel;
edtBM2: TRzEdit;
RzLabel5: TRzLabel;
lbl3: TRzLabel;
lbl5: TRzLabel;
lbl6: TRzLabel;
lbl7: TRzLabel;
edtName3: TRzEdit;
edtBM3: TRzEdit;
edtXueXiao: TRzEdit;
edtChuShengRiQi: TRzDateTimeEdit;
RzEdit1: TRzEdit;
RzEdit2: TRzEdit;
RzLabel6: TRzLabel;
RzLabel7: TRzLabel;
RzLabel8: TRzLabel;
RzDateTimeEdit1: TRzDateTimeEdit;
RzDateTimeEdit2: TRzDateTimeEdit;
RzLabel9: TRzLabel;
RzEdit3: TRzEdit;
RzLabel10: TRzLabel;
RzEdit4: TRzEdit;
RzLabel11: TRzLabel;
qry1: TADOQuery;
ds1: TDataSource;
procedure RzBitBtn18Click(Sender: TObject);
procedure RzBitBtn21Click(Sender: TObject);
procedure RzBitBtn1Click(Sender: TObject);
procedure edtZWKeyPress(Sender: TObject; var Key: Char);
procedure edtZW1KeyPress(Sender: TObject; var Key: Char);
procedure RzBitBtn22Click(Sender: TObject);
procedure RzBitBtn2Click(Sender: TObject);
procedure RzBitBtn6Click(Sender: TObject);
procedure RzBitBtn10Click(Sender: TObject);
procedure RzBitBtn14Click(Sender: TObject);
procedure RzBitBtn20Click(Sender: TObject);
procedure RzBitBtn5Click(Sender: TObject);
procedure RzBitBtn13Click(Sender: TObject);
procedure RzBitBtn24Click(Sender: TObject);
procedure RzBitBtn4Click(Sender: TObject);
procedure RzBitBtn8Click(Sender: TObject);
procedure RzBitBtn12Click(Sender: TObject);
procedure RzBitBtn16Click(Sender: TObject);
procedure RzBitBtn23Click(Sender: TObject);
procedure RzBitBtn3Click(Sender: TObject);
procedure RzBitBtn7Click(Sender: TObject);
procedure RzBitBtn11Click(Sender: TObject);
procedure RzBitBtn15Click(Sender: TObject);
procedure RzBitBtn9Click(Sender: TObject);
procedure rzbtbtnSearchClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure RzBitBtn17Click(Sender: TObject);
procedure RzBitBtn19Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Find: TFind;
implementation
uses DataModule,U_Common,Unit1;
{$R *.dfm}
procedure TFind.RzBitBtn18Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn21Click(Sender: TObject);
var
Sql:string;
b:Boolean;
begin
if (Trim(edtName.Text)='') and (Trim(edtZW.Text)='') and (Trim(edtBM.Text)='') then
begin
ShowErrorMsgBox('请输入查询条件!');
Exit;
end;
//生成SQL语句
//b:=False;
{if Trim(edtZW.Text)='' then
SQL:='select * from Employee where '
else }
SQL:='select * from Employee,ZhiChen where Employee.职位编号=ZhiChen.编号 ';
if Trim(edtName.Text)<>'' then
begin
Sql:=Sql+' and 姓名='+QuotedStr(edtName.Text);
//b:=True;
end;
if Trim(edtBM.Text)<>'' then
Sql:=Sql+' and 部门='+QuotedStr(edtBM.Text);
if Trim(edtZW.Text)<>'' then
Sql:=Sql+' and ZhiChen.职称='+QuotedStr(edtZW.Text);
//执行SQL查找
if not OpenQuery(DM.qryEmployee,Sql,qmOpen) then
begin
ShowTipMsgBox('没有找到该员工!');
end
end;
procedure TFind.RzBitBtn1Click(Sender: TObject);
var
Sql:string;
begin
if (Trim(edtName1.Text)='') and (Trim(edtZW1.Text)='') and (Trim(edtBM1.Text)='') then
begin
ShowErrorMsgBox('请输入查询条件!');
Exit;
end;
//生成SQL语句
SQL:='select * from Employee,KaoQin,ZhiChen where Employee.编号=KaoQin.员工编号 and Employee.职位编号=ZhiChen.编号 ';
if Trim(edtName1.Text)<>'' then
Sql:=Sql+'and 姓名='+QuotedStr(edtName1.Text);
if Trim(edtBM1.Text)<>'' then
Sql:=Sql+' and Employee.部门='+QuotedStr(edtBM1.Text);
if Trim(edtZW1.Text)<>'' then
Sql:=Sql+' and ZhiChen.职称='+QuotedStr(edtZW1.Text);
//执行SQL查找
OpenQuery(DM.qryYuanGongKaoQin,Sql,qmOpen);
end;
procedure TFind.edtZWKeyPress(Sender: TObject; var Key: Char);
begin
//if not(Key in ['0'..'9',Char(8)]) then Key:=#0;
if Key=#13 then edtBM.SetFocus;
end;
procedure TFind.edtZW1KeyPress(Sender: TObject; var Key: Char);
begin
//if not(Key in ['0'..'9',Char(8)]) then Key:=#0;
if Key=#13 then edtBM1.SetFocus;
end;
procedure TFind.RzBitBtn22Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn6Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn10Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn14Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn20Click(Sender: TObject);
begin
Close;
end;
procedure TFind.RzBitBtn5Click(Sender: TObject);
var
Sql:string;
begin
if (Trim(edtName2.Text)='') and (Trim(edtBM2.Text)='') then
begin
ShowErrorMsgBox('请输入查询条件!');
Exit;
end;
//生成SQL语句
SQL:='select * from Employee,KaoQin where Employee.编号=KaoQin.员工编号 ';
if Trim(edtName2.Text)<>'' then
Sql:=Sql+'and 姓名='+QuotedStr(edtName2.Text);
if Trim(edtBM2.Text)<>'' then
Sql:=Sql+' and Employee.部门='+QuotedStr(edtBM2.Text);
{if Trim(edtZW1.Text)<>'' then
Sql:=Sql+' and ZhiChen.职称='+QuotedStr(edtZW1.Text); }
//执行SQL查找
OpenQuery(DM.qryYuanGongChenJiang,Sql,qmOpen);
end;
procedure TFind.RzBitBtn13Click(Sender: TObject);
var
Sql:string;
begin
if (Trim(edtName3.Text)='') and (Trim(edtBM3.Text)='')
and (Trim(edtXueXiao.Text)='') and (Trim(edtChuShengRiQi.Text)='') then
begin
ShowErrorMsgBox('请输入查询条件!');
Exit;
end;
//生成SQL语句
SQL:='select * from Employee,ZhiChen where Employee.职位编号=ZhiChen.编号 ';
if Trim(edtName3.Text)<>'' then
Sql:=Sql+'and 姓名='+QuotedStr(edtName3.Text);
if Trim(edtBM3.Text)<>'' then
Sql:=Sql+' and Employee.部门='+QuotedStr(edtBM3.Text);
if Trim(edtXueXiao.Text)<>'' then
Sql:=Sql+' and 毕业学校='+QuotedStr(Trim(edtXueXiao.Text));
if Trim(edtChuShengRiQi.Text)<>'' then
Sql:=Sql+' and 出生日期='+(edtChuShengRiQi.Text);
//执行SQL查找
OpenQuery(DM.qryYuanGongZhiChen,Sql,qmOpen);
end;
procedure TFind.RzBitBtn24Click(Sender: TObject);
var h,k:integer;
Excelid: OleVariant;
s: string;
begin
try
Excelid := CreateOLEObject('Excel.Application');
except
Application.MessageBox('Excel没有安装!', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
Exit;
end;
try
DM.qryEmployee.Close;
//DM.Close;
DM.qryEmployee.SQL.Clear;
DM.qryEmployee.SQL.Add('select * from employee');
DM.qryEmployee.Open;
k:=DM.qryEmployee.RecordCount;
Excelid.Visible := True;
Excelid.WorkBooks.Add;
Excelid.worksheets[1].range['A1:f1'].Merge(True);
Excelid.WorkSheets[1].Cells[1,1].Value :='员工信息输出表' ;
Excelid.worksheets[1].Range['a1:a1'].HorizontalAlignment := $FFFFEFF4;
Excelid.worksheets[1].Range['a1:a1'].VerticalAlignment := $FFFFEFF4;
Excelid.WorkSheets[1].Cells[2,1].Value := '编号';
Excelid.WorkSheets[1].Cells[2,2].Value := '姓名';
Excelid.WorkSheets[1].Cells[2,3].Value := '性别';
Excelid.WorkSheets[1].Cells[2,4].Value := '出生日期';
Excelid.WorkSheets[1].Cells[2,5].Value := '部门';
Excelid.WorkSheets[1].Cells[2,6].Value := '毕业学校';
Excelid.WorkSheets[1].Cells[2,7].Value := '政治面貌';
Excelid.WorkSheets[1].Cells[2,8].Value := '职位编号';
Excelid.worksheets[1].Range['A1:f1'].Font.Name := '宋体';
Excelid.worksheets[1].Range['A1:f1'].Font.Size := 14;
Excelid.worksheets[1].range['A1:f2'].font.bold:=true;
Excelid.worksheets[1].Range['A2:f2'].Font.Size := 10;
Excelid.worksheets[1].Range['A2:f2'].HorizontalAlignment := $FFFFEFF4;
Excelid.worksheets[1].Range['A2:f2'].VerticalAlignment := $FFFFEFF4;
h:=3;
DM.qryEmployee.First;
while not DM.qryEmployee.Eof do
begin
Excelid.WorkSheets[1].Cells[h,1].Value := DM.qryEmployee.FieldByName('编号').AsString;
Excelid.WorkSheets[1].Cells[h,2].Value := DM.qryEmployee.FieldByName('姓名').AsString;
Excelid.WorkSheets[1].Cells[h,3].Value := DM.qryEmployee.FieldByName('性别').AsString;
Excelid.WorkSheets[1].Cells[h,4].Value := DM.qryEmployee.FieldByName('出生日期').AsString;
Excelid.WorkSheets[1].Cells[h,5].Value := DM.qryEmployee.FieldByName('部门').AsString;
Excelid.WorkSheets[1].Cells[h,6].Value := DM.qryEmployee.FieldByName('毕业学校').AsString;
Excelid.WorkSheets[1].Cells[h,7].Value := DM.qryEmployee.FieldByName('政治面貌').AsString;
Excelid.WorkSheets[1].Cells[h,8].Value := DM.qryEmployee.FieldByName('职位编号').AsString;
Inc(h);
DM.qryEmployee.Next;
end;
s := 'A2:f'+ IntToStr(k+2);
Excelid.worksheets[1].Range[s].Font.Name := '宋体';
Excelid.worksheets[1].Range[s].Borders.LineStyle := 1;
Excelid.Quit;
except
Application.MessageBox('导入数据出错!请检查文件的格式是否正确!', '提示信息', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL);
end;
MessageBox(GetActiveWindow(), '数据导出成功!', '警告', MB_OK +
MB_ICONWARNING);
end;
procedure TFind.RzBitBtn4Click(Sender: TObject);
var h,k:integer;
Excelid: OleVariant;
s: string;
begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -