📄 utransfer.pas
字号:
unit UTransfer;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm_Transfer = class(TForm)
Button1: TButton;
Button2: TButton;
GroupBox1: TGroupBox;
FirstDeptList: TListBox;
SecondDeptList: TListBox;
Label1: TLabel;
Label2: TLabel;
Edit1: TEdit;
Label3: TLabel;
Label4: TLabel;
Edit2: TEdit;
Label5: TLabel;
Edit3: TEdit;
procedure FormCreate(Sender: TObject);
procedure FirstDeptListClick(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
SelectFirstDeptID: Integer;
FirstDeptName, SecondDeptName: string;
procedure LoadFirstDeptList;
procedure LoadSecondDeptList;
public
{ Public declarations }
end;
var
Form_Transfer: TForm_Transfer;
implementation
uses Umain;
{$R *.dfm}
procedure TForm_Transfer.LoadFirstDeptList;
begin
FirstDeptList.Clear;
try
with form_main.TabDept do
begin
open;
first;
while not eof do
begin
if fieldByName('dept_type').AsBoolean then
begin
firstDeptList.Items.Add(fieldByName('dept_name').AsString);
next;
end
else
next;
end; // while
end; // with
except
showmessage('无法打开数据表,请检查数据库文件是否存在');
end;
end;
procedure TForm_Transfer.LoadSecondDeptList;
var deptupID: integer;
updeptname: string;
begin
SecondDeptList.Clear;
try
SelectFirstDeptID := FirstDeptList.ItemIndex + 1;
updeptName := FirstDeptList.Items[SelectFirstDeptID - 1];
with form_main.TabDept2 do
begin
open;
first;
while not eof do
begin
if (fieldByName('dept_name').AsString = updeptName) then
deptupID := fieldByName('dept_id').AsInteger;
next;
end; // while
close;
end; // with
with form_main.TabDept do
begin
open;
first;
while not eof do
begin
if (not fieldByName('dept_type').AsBoolean) and (deptupID = fieldByName('dept_upid').AsInteger) then
begin
SecondDeptList.Items.Add(fieldByName('dept_name').AsString);
next;
end
else
next;
end;
end;
except
showmessage('无法打开数据表,请检查数据库文件是否存在');
end;
end;
procedure TForm_Transfer.FormCreate(Sender: TObject);
begin
LoadFirstDeptList;
end;
procedure TForm_Transfer.FirstDeptListClick(Sender: TObject);
begin
SelectFirstDeptID := FirstDeptList.ItemIndex + 1;
loadSecondDeptList;
end;
procedure TForm_Transfer.Button2Click(Sender: TObject);
begin
close;
end;
procedure TForm_Transfer.Button1Click(Sender: TObject);
var
FirstDept: string;
SecondDept: string;
begin
//获取一级部门名称
if FirstDeptList.ItemIndex < 0 then
begin
showmessage('请选择要转移到的一级部门');
end
else
begin
FirstDept := FirstDeptList.Items[FirstDeptList.ItemIndex];
end;
//获取二级部门名称
if SecondDeptList.ItemIndex < 0 then
begin
showmessage('请选择要转移到的一级部门');
SecondDept := '无';
end
else
begin
SecondDept := SecondDeptList.Items[SecondDeptList.ItemIndex];
end;
try
with Form_main.TabEmployee do
begin
Close;
open;
first;
while not eof do
begin
if FieldValues['Employee_id'] = edit1.Text then
begin
Update;
edit;
FieldValues['Employee_FirstDept'] := FirstDept;
FieldValues['Employee_SecondDept'] := SecondDept;
post;
last;
end;
next;
end;
close;
end;
except
showmessage('更新职工表失败,请检查数据库文件是否存在');
end;
showmessage(edit2.text + ' 已经成功转移到' + FirstDept + ' ' + SecondDept);
close;
end;
procedure TForm_Transfer.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Form_main.ADOQDBGrid.Close;
Form_main.ADOQDBGrid.open;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -