📄 ufrm_level4_3.~pas
字号:
if not(bof and eof ) then
begin
u_error :='記錄已經存在 !';
chk_unique:=false;
Set_focus;
//Kxb01.SetFocus;
exit;
end;
end;
end;
end;
//=================================================
//*************************************************
//first
procedure Tfrm_level4_3.FormCreate(Sender: TObject);
var i:integer;
begin
inherited;
u_master:=g_transfer.master; //取得要操作的master
u_detail:=g_transfer.detail; //取得要操作的detail
//u_key1:=g_transfer.key1;
for i:=1 to 10 do
begin
u_mpkey[i]:=g_transfer.mpkey[i];
u_mpvalue[i]:=g_transfer.mpvalue[i];
u_mkey[i]:=g_transfer.mkey[i];
u_dkey[i]:=g_transfer.dkey[i];
end;
//u_qtable:=g_transfer.qtable;
u_order:=g_transfer.order;
//********************************
u_pfilter:=parse_01;
u_dfilter:=parse_02;
qy_master.DatabaseName:=dm.connection.DatabaseName;
qy_detail.DatabaseName:=dm.connection.DatabaseName;
//=======================================================
refresh_master;
refresh_detail;
navistatus;
savestatus;
cl_setcolor(self); //設置編輯框的顏色
end;
procedure Tfrm_level4_3.tbExitClick(Sender: TObject);
begin
inherited;
//button 1
close;
end;
procedure Tfrm_level4_3.tbAddClick(Sender: TObject);
begin
inherited;
//2
if not cl_prichk('1',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
if not chk_canedit() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if not chk_before_append() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
modistatus;
Set_focus;
qy_detail.Append;
end;
procedure Tfrm_level4_3.tbEditClick(Sender: TObject);
var i:integer;
l_flag:boolean;
begin
inherited;
//3
l_flag:=true;
for i:=1 to 10 do
begin
if u_dkey[i]<>'' then
begin
if qy_detail.FieldByName(u_dkey[i]).AsString='' then
l_flag:=false;
end;
end;
if not l_flag then exit;
if not cl_prichk('2',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master; //get the latest data;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
if not chk_canedit() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if not chk_before_edit() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
modistatus;
Set_focus;
qy_detail.Edit;
try
qy_master.Edit;
qy_master.FieldByName('MODU').AsString:=g_user;
qy_master.FieldByName('MODT').AsString:=DateToStr(cl_curdt);
qy_master.Post;
except
qy_master.Cancel;
end;
end;
procedure Tfrm_level4_3.tbDeleteClick(Sender: TObject);
var i:integer;
l_flag:boolean;
begin
inherited;
//4
l_flag:=true;
for i:=1 to 10 do
begin
if u_dkey[i]<>'' then
begin
if qy_detail.FieldByName(u_dkey[i]).AsString='' then
l_flag:=false;
end;
end;
if not l_flag then exit;
if not cl_prichk('3',u_user_permission,u_grup_permission) then
begin
messagedlg('您沒有權限執行此功能!!',mtinformation,[mbok],0);
exit;
end;
refresh_master; //get the latest data;
if qy_master.FieldByName('ACTI').AsString='Y' then
begin
cl_showmsg('資料已被確認,不可修改!');
exit;
end;
if not chk_canedit() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if not chk_before_delete() then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if messagedlg('確定要刪除此條紀錄嗎?',
mtconfirmation,[mbyes,mbno],0) <> mryes then exit;
qy_detail.Delete;
re_index;
refresh_detail;
navistatus;
end;
procedure Tfrm_level4_3.tbFirstClick(Sender: TObject);
begin
inherited;
//5
if qy_detail.Bof then exit;
qy_detail.First;
navistatus;
end;
procedure Tfrm_level4_3.tbPriorClick(Sender: TObject);
begin
inherited;
//6
if qy_detail.Bof then exit;
qy_detail.Prior;
navistatus;
end;
procedure Tfrm_level4_3.tbNextClick(Sender: TObject);
begin
inherited;
//7
if qy_detail.Eof then exit;
qy_detail.Next;
navistatus;
end;
procedure Tfrm_level4_3.tbLastClick(Sender: TObject);
begin
inherited;
//8
if qy_detail.Eof then exit;
qy_detail.last;
navistatus;
end;
procedure Tfrm_level4_3.tbRefreshClick(Sender: TObject);
begin
inherited;
//9
refresh_master;
refresh_detail;
end;
procedure Tfrm_level4_3.tbSaveClick(Sender: TObject);
begin
inherited;
//10
toolbar1.SetFocus;
if not chk_unique then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
if not chk_save then
begin
messagedlg(u_error,mtinformation,[mbok],0);
exit;
end;
try
qy_detail.Post;
except
qy_detail.Cancel;
cl_showmsg('存盤失敗!');
end;
savestatus;
end;
procedure Tfrm_level4_3.tbUnsaveClick(Sender: TObject);
begin
inherited;
//11
toolbar1.SetFocus;
try
qy_detail.Cancel;
except
cl_showmsg('放棄存盤失敗!');
end;
savestatus;
end;
procedure Tfrm_level4_3.tbPrintClick(Sender: TObject);
begin
inherited;
//12;
end;
procedure Tfrm_level4_3.tbExcelClick(Sender: TObject);
begin
inherited;
//13
cl_toexcel(u_detail,dbgrid);
end;
procedure Tfrm_level4_3.tbHelpClick(Sender: TObject);
begin
inherited;
//14
;
end;
procedure Tfrm_level4_3.FormCloseQuery(Sender: TObject;
var CanClose: Boolean);
begin
inherited;
if (qy_detail.state <> dsbrowse) and (qy_detail.state <> dsinactive) then
begin
canclose:=false;
MessageDlg('你已經修改的資料,'+
'請存盤或放棄 !!',mtinformation,[mbok],0);
end;
end;
procedure Tfrm_level4_3.qy_detailBeforeEdit(DataSet: TDataSet);
var i:integer;
begin
inherited;
;//取得舊key value.
for i:=1 to 10 do
begin
if u_dkey[i]<>'' then
begin
u_oldkeyvalue[i]:=qy_detail.fieldbyname(u_dkey[i]).asstring;
end;
end;
end;
procedure Tfrm_level4_3.qy_detailNewRecord(DataSet: TDataSet);
var i:integer;
begin
inherited;
for i:=1 to 10 do
begin
if u_mkey[i]<>'' then
//qy_detail.FieldByName(u_mkey[i]).AsString:=u_mpvalue[i]; //2003/05/09 change
qy_detail.FieldByName(u_dkey[i]).AsString:=u_mpvalue[i];
end;
qy_detail.FieldByName('D_SN').AsInteger:=next_ordinal;
end;
procedure Tfrm_level4_3.qy_detailAfterOpen(DataSet: TDataSet);
begin
inherited;
l_RecordCount.caption:='Record count:'+inttostr(qy_detail.RecordCount);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -