?? bm_zhiyuanu.pas
字號:
zhiwu.Text := '';
memo.Text := '';
email.Text :='';
bangong.Text :='';
zhuzhai.Text :='';
shouji.Text :='';
jichu.Text :='';
gangwei.Text := '';
jiaban.Text := '';
zhufang.Text := '';
xiaoyi.Text := '';
diqu.Text := '';
gongling.Text:= '';
heji.Text := '';
end;
procedure TBM_ZHIYUANF.saveClick(Sender: TObject);
var
strName: String;
begin
button_valid;
{DM.zhiyuan2.Close;
DM.zhiyuan2.Open ;
if DM.zhiyuan2.Locate('公司名稱',xingming.text,[])then
begin
showmessage('已經(jīng)有重復的人員名稱,請區(qū)分輸入!');
exit;
end ; }
// count;
with dm.qryRun do
begin
Close;
SQL.Text := ' update zhiyuan set 姓名 = "'
+ xingming.Text + '",'
+ '性別="' +cb1.Text +'",'
+ '出生時間="' +shengri.Text +'",'
+ '公司名稱="' +xingming.Text +'",'
+ '籍貫="' +jiguan.Text +'",'
+ '學歷="' +xueli.Text +'",'
+ '職稱="' +zhicheng.Text +'",'
+ '身份="' +shenfen.Text +'",'
+ '職務(wù)="' +zhiwu.Text +'",'
+ '調(diào)入公司時間="' +diaoru.Text +'",'
+ 'email="' +email.Text +'",'
+ '辦公電話="' +bangong.Text +'",'
+ '住宅電話="' +zhuzhai.Text +'",'
+ '手機號碼="' +shouji.Text +'",'
+ '備注="' +memo.Text +'"'
+ ' where ID = '+IntToStr(vv);
// + IntToStr(Integer(TreeView1.Selected.Data));
Prepared := True;
ExecSQL;
DM.zhiyuan2.Open ;
//DM.ZHIGONG.Refresh;
saveimage;
end;
TreeView1.Selected.Text := xingming.Text ;
TreeView1.SetFocus;
TreeView1.Selected.Selected := True;
noedit;
end;
procedure TBM_ZHIYUANF.hui1Click(Sender: TObject);
begin
button_valid;
noedit;
// AORE:=true;
end;
procedure TBM_ZHIYUANF.SpeedButton6Click(Sender: TObject);
begin
OpenDialog1.Execute ;
if OpenDialog1.FileName<>'' then photo.Picture.LoadFromFile(OpenDialog1.FileName );
end;
procedure TBM_ZHIYUANF.SpeedButton7Click(Sender: TObject);
begin
photo.Picture.Assign(nil);
end;
procedure TBM_ZHIYUANF.N3Click(Sender: TObject);
begin
hui1Click(Sender);
end;
procedure TBM_ZHIYUANF.N4Click(Sender: TObject);
begin
saveClick(Sender);
end;
procedure TBM_ZHIYUANF.N6Click(Sender: TObject);
begin
SpeedButton4Click(Sender);
end;
procedure TBM_ZHIYUANF.change;
begin
with dm.bumen do
begin
open;
end;
end;
procedure TBM_ZHIYUANF.DBNavigator1Click(Sender: TObject;
Button: TNavigateBtn);
begin
//DBImage1.DataSource:=dm.D_ZHIGONG;
end;
procedure TBM_ZHIYUANF.TreeView1Expanding(Sender: TObject; Node: TTreeNode;
var AllowExpansion: Boolean);
var
n: TTreeNode;
begin
if not Node.HasChildren or (Node.Count <> 0) then Exit;
with dm.qryRun do
begin
//寫入樹
Close;
SQL.Text := 'select * from zhiyuan '
+ ' where 部門編碼 = ' + IntToStr(integer(Node.data));
Open;
First;
while not eof do
begin
n := TreeView1.Items.AddChildObject(Node,FieldByName('公司名稱').AsString,Pointer(FieldByName('ID').AsInteger));
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Text := 'select Count(*) from zhiyuan '
+ ' where 部門編碼 = ' + dm.qryRun.FieldByName('ID').AsString; //查看是否有下級子樹
dm.ADOQuery1.Open;
if dm.ADOQuery1.Fields[0].AsInteger <> 0 then
n.HasChildren := True;
Next;
end;
end;
end;
procedure TBM_ZHIYUANF.AddPID(Node: TTreeNode; StrName: String;
vi: Boolean);
var
n: TTreeNode;
begin
//增加數(shù)據(jù) 當 vi = True 是加入同級的
with dm.qryRun do
begin
Close;
if vi then
SQL.Text := ' select * from zhiyuan '
+ ' where 部門編碼='+ IntToStr(Integer(Node.Parent.Data))
else
SQL.Text := ' select * from zhiyuan '
+ ' where 部門編碼=' + IntToStr(Integer(Node.Data));
Open;
Append;
if vi then
dm.qryRun['部門編碼']:=Integer(Node.Parent.Data)
else
dm.qryRun['部門編碼']:=IntToStr(Integer(Node.Data));
dm.qryRun['公司名稱']:=strName;
Post;
if vi then
n := treeview1.Items.AddObject
(treeview1.Selected,strName,Pointer(FieldByName('ID').AsInteger))
else
n := treeview1.Items.AddChildObject
(treeview1.Selected,strName,Pointer(FieldByName('ID').AsInteger));
end;
TreeView1.SetFocus;
n.Selected := True;
end;
procedure TBM_ZHIYUANF.DeleteData(AutoID: Integer);
var
QryTmp: TADOQuery;
begin
//刪除樹
with dm.qryRun do
begin
Close;
SQL.Text := ' delete from zhiyuan where ID = '
+ IntToStr(AutoID);
ExecSQL;
end;
QryTmp := TADOQuery.Create(Self);
QryTmp.Connection := dm.Cnn ;
with QryTmp do
begin
Close;
SQL.Text := 'Select * from zhiyuan '
+ ' where 部門編碼 = ' + IntToStr(AutoID);
Open;
while not Eof do
begin
DeleteData(FieldByName('Id').AsInteger); //遞歸調(diào)用過程
Next;
end;
end;
QryTmp.Free;
end;
procedure TBM_ZHIYUANF.refreshTree;
begin
end;
procedure TBM_ZHIYUANF.TreeView1Click(Sender: TObject);
var
mynode: Ttreenode;
s_value_1,bianma: string;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
SpeedButton1.Enabled :=true;
SpeedButton11.Enabled :=true;
SpeedButton2.Enabled :=true;
SpeedButton3.Enabled :=true;
// SpeedButton19.Enabled :=true;
// SpeedButton17.Enabled :=true;
if mynode.Level = 3 then
begin
DM.zhiyuan2.Close;
DM.zhiyuan2.Open ;
DM.zhiyuan2.Locate('公司名稱',mynode.text,[]);
// nos:=DM.zhiyuan2.fieldbyname('id').AsInteger ;
SpeedButton18.Enabled :=true;
SpeedButton20.Enabled :=true;
readdata;
end
else
begin
begin
SpeedButton18.Enabled :=false;
SpeedButton16.Enabled :=false;
SpeedButton21.Enabled :=false;
SpeedButton22.Enabled :=false;
SpeedButton8.Enabled :=false;
SpeedButton20.Enabled :=false;
SpeedButton19.Enabled :=false;
SpeedButton23.Enabled :=false;
SpeedButton24.Enabled :=false;
SpeedButton17.Enabled :=false;
cls;
photo.Picture.Assign(nil);
if (mynode.Level = 1) then
begin
mc:=Treeview1.selected.Text;
BM_OFFICEF.StatusBar1.Panels[0].TEXT :='【所屬公司】:' +Treeview1.selected.Text ;
end;
if (mynode.Level = 2) then BM_OFFICEF.StatusBar1.Panels[0].TEXT :='【所屬公司】:' +mc+'--【部門】:'+Treeview1.selected.Text ;
end;
noedit;
if hui1.Enabled then
begin
//button_valid;
SpeedButton1.Enabled :=true;
SpeedButton11.Enabled :=true;
SpeedButton2.Enabled :=true;
SpeedButton3.Enabled :=true;
hui1.Enabled :=false;
save.Enabled :=false;
end;
end;
label55.Caption :='職員:【'+xingming.text+'】';
label28.Caption :='職員:【'+xingming.text+'】';
end;
procedure TBM_ZHIYUANF.SpeedButton2Click(Sender: TObject);
var
mynode: Ttreenode;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
if mynode.Level <1 then exit ;
if MessageBox(0, '你確定刪除該條記錄嗎?', '提示', MB_YESNO + MB_ICONQUESTION) =IDYES then
begin
DeleteData(Integer(TreeView1.Selected.Data));
TreeView1.Selected.Delete;
cls;
photo.Picture.Assign(nil);
end;
end;
procedure TBM_ZHIYUANF.SpeedButton11Click(Sender: TObject);
var
strName: String;
mynode: Ttreenode;
begin
if Treeview1.Items.Count = 0 then exit;
mynode := Treeview1.selected;
if mynode.Level <1 then exit
else
begin
strName:=inputbox('新增','請輸入同級分類名稱: ','');
strName:=trim(strName);
if strName='' then exit;
AddPID(TreeView1.Selected, strName, True);
end;
end;
procedure TBM_ZHIYUANF.cb1KeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
begin
shengri.SetFocus ;
shengri.Text :=datetostr(date);
end;
end;
procedure TBM_ZHIYUANF.shengriKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN jiguan.SetFocus ;
end;
procedure TBM_ZHIYUANF.xueliKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN zhicheng.SetFocus ;
end;
procedure TBM_ZHIYUANF.zhichengKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN shenfen.SetFocus ;
end;
procedure TBM_ZHIYUANF.shenfenKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN zhiwu.SetFocus ;
end;
procedure TBM_ZHIYUANF.zhiwuKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN diaoru.SetFocus ;
end;
procedure TBM_ZHIYUANF.emailKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN bangong.SetFocus ;
end;
procedure TBM_ZHIYUANF.FormKeyPress(Sender: TObject; var Key: Char);
begin
IF KEY=#13 THEN
begin
key:=#0;
PERFORM(WM_NEXTDLGCTL,0,0);
end;
end;
procedure TBM_ZHIYUANF.dwDropDown(Sender: TObject);
var i:integer;
begin
dw.Items.Clear ;
bm.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 公司名稱 from zhiyuan where 部門編碼=-1');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
dw.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
end;
procedure TBM_ZHIYUANF.bmDropDown(Sender: TObject);
var i:integer;
ss:string;
begin
bm.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
ss:='select distinct 公司名稱 from zhiyuan where 部門編碼 in ';
ss:=ss+ '(select id from zhiyuan where 公司名稱="'+dw.text+'")';
sql.Add(ss);
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
bm.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
end;
procedure TBM_ZHIYUANF.dwClick(Sender: TObject);
begin
bm.Items.Clear ;
end;
procedure TBM_ZHIYUANF.sfDropDown(Sender: TObject);
//var i:integer;
begin
{sf.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 身份 from zhiyuan where 身份 is not null');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
sf.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.zcDropDown(Sender: TObject);
//var i:integer;
begin
{zc.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 職稱 from zhiyuan ');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
zc.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.zwDropDown(Sender: TObject);
//var i:integer;
begin
{zw.Items.Clear ;
WITH cha do
begin
close;
sql.Clear ;
sql.Add('select distinct 職務(wù) from zhiyuan ');
open;
first;
end;
for i:=0 to cha.RecordCount-1 do
begin
zw.Items.Add(cha.Fields[0].asstring);
cha.next;
end;
}
end;
procedure TBM_ZHIYUANF.SpeedButton10Click(Sender: TObject);
var str,str2:string;
begin
with dm.qzhiyuan do
begin
close;
sql.Clear ;
{
str:='select * from zhiyuan where id is not null ';
if xm.Text <>'' then
begin
str:='select a.公司名稱 as gongsi,b.公司名稱 as bumen,c.公司名稱 as xingming,';
str:=str+'c.性別 as xingbie,c.出生時間 as chusheng,c.籍貫,';
str:=str+'c.學歷 as xueli,c.職稱,c.職務(wù) as zhiwu,c.身份 as shenfen,c.調(diào)入公司時間 as diaoru,c.辦公電話,';
str:=str+'c.住宅電話,c.手機號碼,c.email ';
str:=str+'from zhiyuan a,zhiyuan b,zhiyuan c ';
str:=str+'where a.部門編碼=-1 and b.部門編碼=a.id and c.部門編碼=b.id ';
end
else
begin
if (dw.Text <>'') and (bm.Text ='') then
begin
str2:=' 部門編碼 in (select id from zhiyuan where 公司名稱="'+dw.text+'")';
str:=str+' and '+str2;
if zw.Text <>'' then str:=str+' and 職務(wù)="' +trim(zw.text) +'"';
if zc.Text <>'' then str:=str+' and 職稱="' +trim(zc.text) +'"';
if sf.Text <>'' then str:=str+' and 身份="' +trim(sf.text) +'"';
end;
if (dw.Text <>'') and (bm.Text <>'') then
begin
str2:=' 部門編碼 in (select id from zhiyuan where 公司名稱="'+trim(dw.text)+'")';
str2:=str2+' and 公司名稱="' +bm.text +'"';
str:=str+' and 部門編碼 in ';
str:=str+'(select id from zhiyuan where '+str2+')';
if zw.Text <>'' then str:=str+' and 職務(wù)="' +trim(zw.text) +'"';
if zc.Text <>'' then str:=str+' and 職稱="' +trim(zc.text) +'"';
if sf.Text <>'' then str:=str+' and 身份="' +trim(sf.text) +'"';
end;
end; }
str:='select a.公司名稱 as gongsi,b.公司名稱 as bumen,c.公司名稱 as xingming,';
str:=str+'c.性別 as xingbie,c.出生時間 as chusheng,c.籍貫,';
str:=str+'c.學歷 as xueli,c.職稱,c.職務(wù) as zhiwu,c.身份 as shenfen,c.調(diào)入公司時間 as diaoru,c.辦公電話,';
str:=str+'c.住宅電話,c.手機號碼,c.email,c.id as bian ';
//str:=str+'d.基本工資,d.地區(qū)補貼,d.崗位工資,d.工齡補貼,d.加班工資 ';
//str:=str+'d.效益工資,d.住房補貼,d.工資合計,d.變更時間,e.調(diào)動時間,e.調(diào)動公司,';
//str:=str+'e.調(diào)動部門,e.調(diào)動職稱,e.調(diào)動原因 ';
str:=str+'from zhiyuan a,zhiyuan b,zhiyuan c ';
str:=str+'where a.部門編碼=-1 and b.部門編碼=a.id and c.部門編碼=b.id ';
if xm.Text <>'' then
begin
str:=str+' and c.公司名稱 like "%'+xm.text+'%"' ;
end ;
if bm.Text <>'' then
begin
str:=str+' and b.公司名稱 like "%'+bm.text+'%"' ;
end ;
if dw.Text <>'' then
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -