📄 unitsearch.pas
字号:
unit UnitSearch;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, DBCtrls, Grids, DBGrids, Mask, ADODB,
ToolWin, ComCtrls, ImgList, DB, Buttons, DBTables;
type
TFrmSearch = class(TForm)
DBNavigator2: TDBNavigator;
Panel1: TPanel;
edtTagNO: TEdit;
edtName: TEdit;
bbtnSearch: TBitBtn;
Label38: TLabel;
Label39: TLabel;
Label40: TLabel;
Label41: TLabel;
Label42: TLabel;
Label43: TLabel;
Label44: TLabel;
cmbGender: TComboBox;
Label45: TLabel;
cmbCurArea: TComboBox;
cmbRegArea: TComboBox;
bbtnClose: TBitBtn;
cmbContract: TComboBox;
Label46: TLabel;
Label47: TLabel;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
MaskEdit3: TMaskEdit;
MaskEdit4: TMaskEdit;
Label52: TLabel;
Edit3: TEdit;
Label53: TLabel;
ScrollBox1: TScrollBox;
Label59: TLabel;
Label60: TLabel;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
DBGrid1: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
procedure FormCreate(Sender: TObject);
procedure bbtnCloseClick(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure bbtnSearchClick(Sender: TObject);
procedure MaskEdit1Exit(Sender: TObject);
procedure DBGrid1DblClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmSearch: TFrmSearch;
implementation
uses UnitDatabase, UnitDetail;
{$R *.dfm}
procedure TFrmSearch.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ADOQuery1.Active:=false;
Action:=caFree;
end;
procedure TFrmSearch.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key=13 then Perform(WM_NEXTDLGCTL,0,0);
end;
procedure TFrmSearch.FormCreate(Sender: TObject);
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select MID,MTagNO,MName,MGender,MBirthday,MMarrigae,MPolitics,MMember,MEducation,MTitle,MNative,MFolk,MProvince,MCity,MPolice,MIDCardNO,MTel,MRegAdd,MRegPostalcode,MRegArea');
ADOQuery1.SQL.Add(',MCurAdd,MCurPostalcode,MCurArea,MInDate,MDuty,MJob,MStartWorkDate,MSalary,MWork,MContract,MPWork,MIncome,MMemo,MFName1,MFName2,MFName3,MFName4,MFName5');
ADOQuery1.SQL.Add(',MFAppellation1,MFAppellation2,MFAppellation3,MFAppellation4,MFAppellation5,MFFactory1,MFFactory2,MFFactory3,MFFactory4,MFFactory5,MF1,MF2,MF3,MF4,MF5,MFType,MF6,MF7,MF8 from Employee order by MTagNO');
ADOQuery1.Open;
if ADOQuery1.RecordCount<>0 then
Label52.Caption:='第'+IntToStr(ADOQuery1.RecNo)+'条/共'+IntToStr(ADOQuery1.RecordCount)+'条'
else
Label52.Caption:='第0条/共0条';
end;
procedure TFrmSearch.bbtnCloseClick(Sender: TObject);
begin
Close;
end;
procedure TFrmSearch.DataSource1DataChange(Sender: TObject; Field: TField);
begin
if ADOQuery1.RecordCount<>0 then
Label52.Caption:='第'+IntToStr(ADOQuery1.RecNo)+'条/共'+IntToStr(ADOQuery1.RecordCount)+'条'
else
Label52.Caption:='第0条/共0条';
end;
procedure TFrmSearch.bbtnSearchClick(Sender: TObject);
var
TmpSQL:String;
begin
TmpSQL:='where MTagNO<>''''';
if Trim(edtTagNO.Text)<>'' then begin
if Trim(Edit3.Text)<>'' then begin
TmpSQL:=TmpSQL+' and MTagNO>='''+Trim(edtTagNO.Text)+''' and MTagNO<='''+Trim(Edit3.Text)+'''';
end else begin
TmpSQL:=TmpSQL+' and MTagNO like '''+Trim(edtTagNO.Text)+'''';
end;
end;
if Trim(edtName.Text)<>'' then TmpSQL:=TmpSQL+' and MName like '''+Trim(edtName.Text)+'''';
if cmbGender.ItemIndex>0 then TmpSQL:=TmpSQL+' and MGender like '''+Trim(cmbGender.Text)+'''';
if cmbContract.ItemIndex>0 then TmpSQL:=TmpSQL+' and MContract like '''+Trim(cmbContract.Text)+'''';
if cmbRegArea.ItemIndex>0 then TmpSQL:=TmpSQL+' and MRegArea like '''+Trim(cmbRegArea.Text)+'''';
if cmbCurArea.ItemIndex>0 then TmpSQL:=TmpSQL+' and MWork like '''+Trim(cmbCurArea.Text)+'''';
if ComboBox1.ItemIndex>0 then TmpSQL:=TmpSQL+' and MF5 like '''+Trim(ComboBox1.Text)+'''';
if ComboBox2.ItemIndex>0 then TmpSQL:=TmpSQL+' and MF8 like '''+Trim(ComboBox2.Text)+'''';
if Trim(MaskEdit1.Text)<>'- -' then begin
if Trim(MaskEdit2.Text)<>'- -' then begin
TmpSQL:=TmpSQL+' and MBirthday between #'+MaskEdit1.Text+'# and #'+MaskEdit2.Text+'#';
end else begin
TmpSQL:=TmpSQL+' and MBirthday>=#'+MaskEdit1.Text+'#';
end;
end else begin
if Trim(MaskEdit2.Text)<>'- -' then begin
TmpSQL:=TmpSQL+' and MBirthday<=#'+MaskEdit2.Text+'#';
end;
end;
if Trim(MaskEdit3.Text)<>'- -' then begin
if Trim(MaskEdit4.Text)<>'- -' then begin
TmpSQL:=TmpSQL+' and MStartWorkDate between #'+MaskEdit3.Text+'# and #'+MaskEdit4.Text+'#';
end else begin
TmpSQL:=TmpSQL+' and MStartWorkDate>=#'+MaskEdit3.Text+'#';
end;
end else begin
if Trim(MaskEdit4.Text)<>'- -' then begin
TmpSQL:=TmpSQL+' and MStartWorkDate<=#'+MaskEdit4.Text+'#';
end;
end;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select MID,MTagNO,MName,MGender,MBirthday,MMarrigae,MPolitics,MMember,MEducation,MTitle,MNative,MFolk,MProvince,MCity,MPolice,MIDCardNO,MTel,MRegAdd,MRegPostalcode,MRegArea');
ADOQuery1.SQL.Add(',MCurAdd,MCurPostalcode,MCurArea,MInDate,MDuty,MJob,MStartWorkDate,MSalary,MWork,MContract,MPWork,MIncome,MMemo,MFName1,MFName2,MFName3,MFName4,MFName5');
ADOQuery1.SQL.Add(',MFAppellation1,MFAppellation2,MFAppellation3,MFAppellation4,MFAppellation5,MFFactory1,MFFactory2,MFFactory3,MFFactory4,MFFactory5,MF1,MF2,MF3,MF4,MF5,MFType,MF6,MF7,MF8 from Employee ');
ADOQuery1.SQL.Add(TmpSQL+' order by MTagNO');
ADOQuery1.Open;
if ADOQuery1.RecordCount<>0 then
Label52.Caption:='第'+IntToStr(ADOQuery1.RecNo)+'条/共'+IntToStr(ADOQuery1.RecordCount)+'条'
else
Label52.Caption:='第0条/共0条';
end;
procedure TFrmSearch.MaskEdit1Exit(Sender: TObject);
begin
try
if Trim((Sender as TMaskEdit).Text)<>'- -' then StrToDate((Sender as TMaskEdit).Text);
except
(Sender as TMaskEdit).SetFocus;
end;
end;
procedure TFrmSearch.DBGrid1DblClick(Sender: TObject);
begin
frmDetail:=TfrmDetail.Create(self);
try
ADOQuery1.Filter:='MID='+ADOQuery1.FieldByName('MID').AsString;
ADOQuery1.Filtered:=true;
frmDetail.ShowModal;
finally
ADOQuery1.Filtered:=false;
frmDetail.Free;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -