📄 u_rytz.pas
字号:
unit u_rytz;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, Buttons, CheckLst,ADODB;
type
TForm_rytz = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
Label3: TLabel;
tzq_xm: TEdit;
Panel2: TPanel;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
GroupBox3: TGroupBox;
Label1: TLabel;
tzq_bm: TComboBox;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
Label4: TLabel;
tzh_bh: TEdit;
Label5: TLabel;
tzh_xm: TEdit;
Label6: TLabel;
tzh_xb: TEdit;
Panel3: TPanel;
BitBtn5: TBitBtn;
BitBtn6: TBitBtn;
tzq_bh: TEdit;
Panel4: TPanel;
BitBtn4: TBitBtn;
Label7: TLabel;
tzq_dw: TComboBox;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Panel5: TPanel;
Label2: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
tzh_dw: TComboBox;
tzh_bm: TComboBox;
Panel6: TPanel;
procedure FillTocomboBox(Sender: TcomboBox;nr_str:string;bz:integer);
procedure FormShow(Sender: TObject);
procedure tzq_bmKeyPress(Sender: TObject; var Key: Char);
procedure BitBtn1Click(Sender: TObject);
procedure tzq_bmChange(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure BitBtn6Click(Sender: TObject);
procedure BitBtn5Click(Sender: TObject);
procedure BitBtn4Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure tzq_dwChange(Sender: TObject);
procedure tzh_dwChange(Sender: TObject);
procedure tzh_bhExit(Sender: TObject);
procedure tzh_bhEnter(Sender: TObject);
procedure tzh_bhChange(Sender: TObject);
procedure tzh_bmChange(Sender: TObject); //给组合框添加内容
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_rytz: TForm_rytz;
old_bh,new_bh:string;
implementation
uses U_gzda_dm;
{$R *.dfm}
procedure TForm_rytz.FillTocomboBox(Sender: TcomboBox;nr_str:string;bz:integer); //给组合框添加内容
var
hh:string;
begin
with gzda_dm.ADODataSet10 do begin
if active then active:=false;
commandtext:='select sj.bh,sj.mc,sj.fzsjxmbh from fzsj sj,fzsjxm xm where (sj.fzsjxmbh=xm.fzsjxmbh) and (xm.mc=:cx_mc) order by sj.bh';
Parameters.ParamByName('cx_mc').Value:=nr_str;
open;
first;
sender.Items.Clear;
while not eof do begin
if bz=1 then
begin
if fieldbyname('bh').AsInteger <10 then
hh:='0'+fieldbyname('bh').AsString+'.'
else
hh:=fieldbyname('bh').AsString+'.';
end
else
hh:='';
sender.Items.Add(hh+fieldbyname('mc').AsString);
next;
end;
sender.ItemIndex:=0;
close;
end;
end;
procedure TForm_rytz.FormShow(Sender: TObject);
begin
with gzda_dm.ADODataSet10 do begin
if active then active:=false;
commandtext:='select * from dwbmb order by dwbm';
open;
first;
tzq_dw.Items.Clear;
tzh_dw.Items.Clear;
while not eof do begin
tzq_dw.Items.Add(fieldbyname('dwbm').AsString+'.'+fieldbyname('dwmc').AsString);
tzh_dw.Items.Add(fieldbyname('dwbm').AsString+'.'+fieldbyname('dwmc').AsString);
next;
end;
end;
end;
procedure TForm_rytz.tzq_bmKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in [#37..#40]) then key:=#0;
end;
procedure TForm_rytz.BitBtn1Click(Sender: TObject);
begin
with gzda_dm.ADODataSet10 do begin //调整原表
if active then active:=false;
commandtext:='select * from zgdab where (zgxh like :xh) and (xm like :xm) order by zgxh';
Parameters.ParamByName('xh').Value:=copy(tzq_dw.Text,1,2)+copy(tzq_bm.Text,1,2)+'%';
Parameters.ParamByName('xm').Value:=trim(tzq_xm.Text)+'%';
open;
first;
if recordcount=0 then
begin
gzda_dm.ADODataSet1.Close;
bitbtn3.Enabled:=false;
showmessage('该人员没有检索到!!');
tzq_xm.SetFocus;
abort;
end;
end;
with gzda_dm.ADOCommand1 do begin
commandtext:='delete from ls_tzqb';
Execute;
end;
with gzda_dm.ADODataSet1 do begin //调整前
if active then active:=false;
commandtext:='select * from ls_tzqb';
open;
end;
with gzda_dm.ADODataSet2 do begin //调整后
if active then active:=false;
commandtext:='select * from ls_tzqb';
open;
end;
with gzda_dm.ADODataSet10 do begin
first;
while not eof do begin
gzda_dm.ADODataSet1.AppendRecord([fieldbyname('zgxh').asstring,fieldbyname('xm').asstring,fieldbyname('xb').asstring,fieldbyname('zgxh').asstring]);
next;
end;
end;
with gzda_dm.ADODataSet1 do begin
first;
end;
bitbtn3.Enabled:=true;
end;
procedure TForm_rytz.tzq_bmChange(Sender: TObject);
begin
tzh_dw.Enabled:=true;
// tzh_bm.Enabled:=true;
tzh_dw.SetFocus;
with gzda_dm.ADODataSet1 do begin
if active then active:=false;
dbgrid1.Refresh;
end;
bitbtn1.Enabled:=false;
tzq_xm.Enabled:=false;
gzda_dm.ADODataSet1.Close;
bitbtn3.Enabled:=false;
end;
procedure TForm_rytz.BitBtn2Click(Sender: TObject);
begin
with gzda_dm.ADODataSet9 do begin //调整后
if active then active:=false;
commandtext:='select * from zgdab where (zgxh like :xh) order by zgxh';
Parameters.ParamByName('xh').Value:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+'%';
open;
first;
end;
tzq_xm.Enabled:=true;
bitbtn1.Enabled:=true;
tzq_xm.SetFocus;
end;
procedure TForm_rytz.BitBtn3Click(Sender: TObject);
var
ls_bh,ls_bh_str:string;
begin
BitBtn2Click(Self);
with gzda_dm.ADODataSet9 do begin
if recordcount<>0 then
begin
last;
ls_bh:=inttostr(strtoint(copy(fieldbyname('zgxh').AsString,5,4))+gzda_dm.ADODataSet2.RecordCount+1);
ls_bh_str:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+copy('0000000',1,4-length(ls_bh))+ls_bh;
end
else
ls_bh_str:=copy(tzh_dw.Text,1,2)+copy(tzh_bm.Text,1,2)+'0001';
end;
tzh_bh.Text:=ls_bh_str;
with gzda_dm.ADODataSet1 do begin
tzq_bh.Text:=fieldbyname('tzq_bh').AsString;
tzh_xm.Text:=fieldbyname('xm').AsString;
tzh_xb.Text:=fieldbyname('xb').AsString;
end;
tzh_bh.Enabled:=true;
bitbtn5.Enabled:=true;
dbgrid1.Refresh;
end;
procedure TForm_rytz.BitBtn6Click(Sender: TObject);
begin
tzq_bh.Text:='';
tzh_bh.Text:='';
tzh_xm.Text:='';
tzh_xb.Text:='';
groupbox2.Refresh;
end;
procedure TForm_rytz.BitBtn5Click(Sender: TObject);
begin
if Application.MessageBox('确实要对该人员的所在部门进行调整吗?','提示',MB_YesNO+ MB_DEFBUTTON2) <> IDYes then
Abort;
with gzda_dm.ADODataSet10 do begin
if locate('zgxh',tzq_bh.Text,[]) then
begin
edit;
fieldbyname('zgxh').AsString:=tzh_bh.Text;
post;
UpdateBatch(arCurrent);
end;
end;
with gzda_dm.ADODataSet9 do begin //调整后
if active then active:=false;
commandtext:='select * from zgdab where (zgxh like :xh) order by zgxh';
Parameters.ParamByName('xh').Value:=copy(tzh_bm.Text,1,2)+'%';
open;
first;
end;
with gzda_dm.ADODataSet1 do begin //调整后
if locate('tzq_bh',tzq_bh.Text,[]) then
begin
delete;
dbgrid1.Refresh;
end;
end;
tzh_bh.Enabled:=false;
bitbtn5.Enabled:=false;
end;
procedure TForm_rytz.BitBtn4Click(Sender: TObject);
begin
close;
end;
procedure TForm_rytz.FormClose(Sender: TObject; var Action: TCloseAction);
begin
gzda_dm.DataModuleDestroy(self);
end;
procedure TForm_rytz.tzq_dwChange(Sender: TObject);
var
dwbm:string;
begin
dwbm:=copy(tzq_dw.Text,1,2);
with gzda_dm.ADODataSet10 do begin
if active then active:=false;
commandtext:='select * from bmbmb where (dwbm=:dwbm) order by dwbm,bmbm';
Parameters.ParamByName('dwbm').Value:=dwbm;
open;
first;
tzq_bm.Items.Clear;
while not eof do begin
tzq_bm.Items.Add(fieldbyname('bmbm').AsString+'.'+fieldbyname('bmmc').AsString);
next;
end;
end;
bitbtn1.Enabled:=false;
tzq_xm.Enabled:=false;
gzda_dm.ADODataSet1.Close;
tzq_bm.Enabled:=true;
bitbtn3.Enabled:=false;
tzq_bm.Refresh;
end;
procedure TForm_rytz.tzh_dwChange(Sender: TObject);
var
dwbm:string;
begin
dwbm:=copy(tzh_dw.Text,1,2);
with gzda_dm.ADODataSet10 do begin
if active then active:=false;
commandtext:='select * from bmbmb where (dwbm=:dwbm) order by dwbm,bmbm';
Parameters.ParamByName('dwbm').Value:=dwbm;
open;
first;
tzh_bm.Items.Clear;
while not eof do begin
tzh_bm.Items.Add(fieldbyname('bmbm').AsString+'.'+fieldbyname('bmmc').AsString);
next;
end;
end;
tzh_bm.Enabled:=true;
tzh_bm.Refresh;
bitbtn1.Enabled:=false;
tzq_xm.Enabled:=false;
gzda_dm.ADODataSet1.Close;
bitbtn3.Enabled:=false;
end;
procedure TForm_rytz.tzh_bhExit(Sender: TObject);
begin
if copy(tzh_bh.Text,1,2)<>copy(tzh_dw.Text,1,2) then
begin
showmessage('编号的前2位数必须位'+copy(tzh_dw.Text,1,2)+'!!');
tzh_bh.SetFocus;
abort;
end;
if copy(tzh_bh.Text,3,2)<>copy(tzh_bm.Text,1,2) then
begin
showmessage('编号的3-4位数必须位'+copy(tzh_bm.Text,1,2)+'!!');
tzh_bh.SetFocus;
abort;
end;
if length(trim(tzh_bh.Text))<>8 then
begin
showmessage('编号长度必须为8位!!');
tzh_bh.SetFocus;
abort;
end;
if old_bh<>new_bh then
begin
if gzda_dm.ADODataSet9.Locate('zgxh',new_bh,[]) then
begin
showmessage('本编号已存在,请重新编号!!');
BitBtn3Click(self);
tzh_bh.SetFocus;
abort;
end;
end;
end;
procedure TForm_rytz.tzh_bhEnter(Sender: TObject);
begin
old_bh:=tzh_bh.text;
end;
procedure TForm_rytz.tzh_bhChange(Sender: TObject);
begin
new_bh:=tzh_bh.Text;
end;
procedure TForm_rytz.tzh_bmChange(Sender: TObject);
begin
bitbtn1.Enabled:=false;
tzq_xm.Enabled:=false;
gzda_dm.ADODataSet1.Close;
bitbtn3.Enabled:=false;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -