?? find_zdf003.pas
字號:
unit find_zdf003;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Wwquery, StdCtrls, Buttons, Mask, wwdbedit,
Wwdotdot, ComCtrls, wwdbdatetimepicker;
type
Tfind_zdf003f = class(TForm)
ScrollBox1: TScrollBox;
GroupBox1: TGroupBox;
Label2: TLabel;
bjdh: TEdit;
Label4: TLabel;
djrq1: TwwDBDateTimePicker;
Label6: TLabel;
djrq2: TwwDBDateTimePicker;
Btn_Search: TBitBtn;
Btn_Cancel: TBitBtn;
emp_id: TwwDBComboDlg;
emp_name: TEdit;
Label1: TLabel;
Data_query: TwwQuery;
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 emp_idCustomDlg(Sender: TObject);
procedure emp_idKeyPress(Sender: TObject; var Key: Char);
private
{ Private declarations }
public
{ Public declarations }
filter_sql,find_bill: string;
MAXTABORDER :integer;
end;
var
find_zdf003f: Tfind_zdf003f;
implementation
uses ppublic,pdatabse,main;
{$R *.dfm}
procedure Tfind_zdf003f.FormCreate(Sender: TObject);
begin
MAXTABORDER:=10;
djrq1.text:='';
djrq2.Text:='';
end;
procedure Tfind_zdf003f.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_zdf003f.EditEnter(Sender: TObject);
begin
TEdit(Sender).Color :=clyellow;
TwwDBEdit(Sender).Color :=clyellow;
TwwDBComboDlg(Sender).Color :=clyellow;
TwwdbDatetimePicker(sender).color :=clYellow;
end;
procedure Tfind_zdf003f.EditExit(Sender:Tobject);
begin
TEdit(Sender).Color :=clwindow;
TwwDBEdit(Sender).Color :=clwindow;
TwwDBComboDlg(Sender).Color :=clwindow;
TwwdbDatetimePicker(sender).color :=clwindow;
end;
procedure Tfind_zdf003f.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_zdf003f.Btn_SearchClick(Sender: TObject);
var sql1,sql2 :string;
begin
sql1:='';
if bjdh.Text<>'' then sql1:='where bill_no='+''''+bjdh.Text+'''';
if emp_id.Text<>'' then
if trim(sql1)='' then sql1:='where emp_id='+''''+emp_id.text+''''
else sql1:=trim(sql1)+' and emp_id='+''''+emp_id.Text+'''';
if djrq1.text<>'' then
begin
if trim(sql1)='' then sql1:='where bill_date>=#'+datetostr(djrq1.datetime)+'#'
else sql1:=sql1+' and bill_date>=#'+datetostr(djrq1.datetime)+'#'
end;
if djrq2.text<>'' then
begin
if trim(sql1)='' then sql1:='where bill_date<=#'+datetostr(djrq2.datetime)+'#'
else sql1:=sql1+' and bill_date<=#'+datetostr(djrq2.datetime)+'#'
end;
if trim(sql1)='' then
begin
sql1:='select '' '' as xh,bill_no,emp_id,emp_name,bill_date from depart_change_view ';
if filter_sql<>'' then sql1:=sql1+' where '+filter_sql;
end
else
begin
sql1:='select '' '' as xh,bill_no,emp_id,emp_name,bill_date from depart_change_view '+sql1;
if filter_sql<>'' then sql1:=sql1+' and '+filter_sql;
end;
sql1:= sql1+' order by bill_no';
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:='';
find_bill:=bill_find(sql1,sql2,'depart_change','',self,1);
if find_bill='' then modalresult:=mrcancel else modalresult:=mrok;
end;
except
showmessage('查詢語句語法錯誤');
find_bill:='';
data_Query.Close;
end;
end;
procedure Tfind_zdf003f.Btn_CancelClick(Sender: TObject);
begin
modalresult:=mrCancel;
end;
procedure Tfind_zdf003f.emp_idCustomDlg(Sender: TObject);
var str:string;
tempquery:tquery;
begin
str:=emp_search('dimission_flag=0',self);
if str<>'' then begin
emp_id.Text:=str;
tempquery:=tquery.Create(self);
try
tempquery.DatabaseName:='train';
tempquery.SQL.Add('select emp_name from employee where emp_id='+''''+emp_id.Text+'''');
tempquery.open;
if not tempquery.isempty then
emp_name.Text:=tempquery.fieldbyname('emp_name').AsString;
finally
tempquery.free;
end;
end;
end;
procedure Tfind_zdf003f.emp_idKeyPress(Sender: TObject;
var Key: Char);
begin
key:=#0;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -