📄 change.~pas
字号:
unit change;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ExtCtrls, DB, DBTables, DBCtrls;
type
TForm18 = class(TForm)
Label1: TLabel;
i_id: TEdit;
i_change: TRadioGroup;
Label2: TLabel;
i_time: TMaskEdit;
GroupBox1: TGroupBox;
Label3: TLabel;
Label5: TLabel;
i_name: TDBEdit;
i_job: TDBLookupComboBox;
T_department: TTable;
DS_department: TDataSource;
T_job: TTable;
DS_job: TDataSource;
Label6: TLabel;
i_description: TMemo;
Button1: TButton;
T_counter: TTable;
T_change: TTable;
DS_change_list: TDataSource;
T_change_list: TTable;
T_user: TTable;
DS_user: TDataSource;
procedure i_idChange(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure ChangeInit;
public
{ Public declarations }
end;
var
Form18: TForm18;
implementation
{$R *.dfm}
procedure TForm18.ChangeInit; //输入表单初始子程序
begin
i_id.Text:=''; //清空教师号输入框
i_change.ItemIndex:=0; //默认变动情况为职务变更
i_time.Text:=DateToStr(Now); // 加入当前时间
i_description.Clear; //描述框清空
end;
procedure TForm18.i_idChange(Sender: TObject); //当在i_id输入时,下列程序检索教师信息
begin
T_user.Filter:='ID='''+i_id.Text+''''; //设置过滤器,提取教师信息
T_user.Filtered:=True; //激活过滤器
T_user.Open; //打开教师信息表
end;
procedure TForm18.FormCreate(Sender: TObject);
begin
if not T_department.Active then T_department.Open; //如果系别表没有激活则打开系别表
if not T_job.Active then T_job.Open; //如果工作表没有激活则打开工作表
ChangeInit; //调用输入表单初始子程序
end;
procedure TForm18.Button1Click(Sender: TObject);
var
counter:integer;
begin
if T_user.RecordCount=1 then //判断是否存在该教师
begin
//获取人事变动记录号
T_counter.Filter:='ID=''B'''; //设置过滤器,获取计数器值
T_counter.Filtered:=True; //激活过滤器
T_counter.Open; //打开计数表
counter:=T_counter['COUNTER_VALUE']; //获取计数值
Inc(counter); //增加1
T_counter.Edit; //修改计数器
T_counter['COUNTER_VALUE']:=counter; //记录新的计数值
T_counter.Post; //提交修改
T_counter.Close; //关闭计数表
//追加人事变动记录
T_user.Edit;
if i_change.ItemIndex=1 then //如果教师辞职退休
T_user['STATE']:='F'; //取消教师帐号
T_user.Post; //提交修改
T_change.Open; //打开人事变更数据表
T_change.Append; //追加记录
T_change['ID']:=counter; //保存记录编号
T_change['PERSON']:=i_id.Text; //保存教师号
T_change['CHANGE1']:=IntToStr(i_change.ItemIndex); //保存变更代码
T_change['RECORD_TIME']:=StrToDate(i_time.Text); //保存变更时间
T_change['DESCRIPTION']:=i_description.Text; //保存描述
T_change.Post; //提交描述
T_change.Close; //关闭人事变更数据表
ChangeInit; //调用初始化表单
end
else
Application.MessageBox('请确认教师号!','输入错误',MB_OK); //若不存在该教师号码则出现出错信息框
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -