?? ser520_04.pas.svn-base
字號:
unit Ser520_04;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas100_01, Menus, StdCtrls, Buttons, ExtCtrls,
wwdbdatetimepicker, DB, ADODB;
type
TSer520_04Form = class(TBas100_01Form)
lblCode: TLabel;
edtCode: TEdit;
sbCode: TSpeedButton;
edtName: TEdit;
lblAmount: TLabel;
edtAmount: TEdit;
lblDate: TLabel;
edtDate: TwwDBDateTimePicker;
Bevel1: TBevel;
bbtnOk: TBitBtn;
bbtnExit: TBitBtn;
qryHrm150: TADOQuery;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TWideStringField;
qryHrm150H150_003: TWideStringField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure bbtnOkClick(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
procedure sbCodeClick(Sender: TObject);
procedure edtCodeExit(Sender: TObject);
private
AMode:string;
FDataSet:TADOQuery;
procedure SetInterface;
{ Private declarations }
public
procedure OpenData(ANo:Integer;ADataSet:TADOQuery);
{ Public declarations }
end;
var
Ser520_04Form: TSer520_04Form;
implementation
uses SYSDATA, CommFun, HwSelData;
{$R *.dfm}
procedure TSer520_04Form.OpenData(ANo:Integer;ADataSet:TADOQuery);
begin
FDataSet:=ADataSet;
AMode:='ADD';
if ANo<>0 then
begin
AMode:='UPD';
if not qryHrm150.Active then qryHrm150.Open;
qryHrm150.Locate('H150_001',ADataSet.FieldByName('S522_003').Value,[]);
edtCode.Text:=ADataSet.FieldByName('H150_002').Value;
edtName.Text:=qryHrm150.FieldByName('H150_003').Value;
edtDate.Date:=ADataSet.FieldByName('S522_004').Value;
edtAmount.Text:=ADataSet.FieldByName('S522_005').Value;
end;
end;
procedure TSer520_04Form.SetInterface;
begin
Caption:=GetDBString('SER52004001'); //處罰記錄
lblCode.Caption:=GetDBString('SER52004002'); //員工編號
lblDate.Caption:=GetDBString('SER52004003'); //預計日期
lblAmount.Caption:=GetDBString('SER52004004'); //處罰金額
bbtnOk.Caption:=GetDBString('SER52003009'); //確定(&O)
bbtnExit.Caption:=GetDBString('SER52003010'); //退出(&X)
end;
procedure TSer520_04Form.FormCreate(Sender: TObject);
begin
inherited;
SetInterface;
qryHrm150.Open;
end;
procedure TSer520_04Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryHrm150.Close;
end;
procedure TSer520_04Form.bbtnOkClick(Sender: TObject);
var
ANo:Integer;
begin
inherited;
//確定(&O)
if trim(edtCode.Text)='' then
begin
ShowMsg('UMS10000071'); //員工編號不能為空
edtCode.SetFocus;
Abort;
end;
if trim(edtDate.Text)='' then
begin
ShowMsg('UMS10000385'); //預計日期不能為空
edtDate.SetFocus;
Abort;
end;
if (trim(edtAmount.Text)='') or (trim(edtAmount.Text)='0') then
begin
ShowMsg('UMS10000386'); //處罰金額不能為空或零
edtAmount.SetFocus;
Abort;
end;
if AMode='ADD' then
begin
ANo:=GetLastNo(FDataSet,'S522_002');
FDataSet.Append;
end else
begin
ANo:=FDataSet.FieldByName('S522_002').Value;
FDataSet.Edit;
end;
FDataSet.FieldByName('S522_001').Value:='-1';
FDataSet.FieldByName('S522_002').Value:=ANo;
FDataSet.FieldByName('S522_003').Value:=edtDate.Date;
FDataSet.FieldByName('S522_004').Value:=qryHrm150.FieldByName('H150_001').Value;
FDataSet.FieldByName('S522_005').AsString:=edtAmount.Text;
FDataSet.Post;
ModalResult:=1;
end;
procedure TSer520_04Form.bbtnExitClick(Sender: TObject);
begin
inherited;
//退出(&X)
Close;
end;
procedure TSer520_04Form.sbCodeClick(Sender: TObject);
begin
inherited;
//員工編號查詢
if not edtCode.Focused then edtCode.SetFocus;
qryHrm150.Close;
qryHrm150.Open;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
if qryHrm150.IsEmpty then Exit;
edtCode.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end;
end;
procedure TSer520_04Form.edtCodeExit(Sender: TObject);
begin
inherited;
//員工編號
if trim(edtCode.Text)='' then Exit;
if qryHrm150.Locate('H150_002',edtCode.Text,[]) then
begin
edtCode.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end else
begin
ShowMsg('UMS10000393'); //輸入的員工編號無效
edtCode.SetFocus;
Abort;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -