📄 rab500_01.pas.svn-base
字号:
ADOQuery1R500_003.AsString:=qryRab100R100_001.AsString;
ADOQuery1R100_002.Value:=qryRab100R100_002.Value;
ADOQuery1R100_003.Value:=qryRab100R100_003.Value;
end;
end;
procedure TRab500_01Form.Edit2Exit(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if qryRab100.Locate('R100_002',Edit2.Text,[loCaseInsensitive]) then
begin
ADOQuery1R500_003.AsString:=qryRab100R100_001.AsString;
ADOQuery1R100_002.Value:=qryRab100R100_002.Value;
ADOQuery1R100_003.Value:=qryRab100R100_003.Value;
end else
begin
ShowMsg('UMS10000100'); //无效的宿舍编号
Abort;
end;
end;
procedure TRab500_01Form.SpeedButton3Click(Sender: TObject);
begin
inherited;
//住房编号查询
if not ActSave.Enabled then Exit;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryRab110,nil);
if HwSelDataForm.ShowModal=1 then
begin
Edit3.Text:=qryRab110R110_003.AsString;
ADOQuery1R500_004.AsString:=qryRab110R110_001.AsString;
ADOQuery1R110_003.Value:=qryRab110R110_003.Value;
ADOQuery1R110_004.Value:=qryRab110R110_004.Value;
end;
end;
procedure TRab500_01Form.Edit3Exit(Sender: TObject);
begin
inherited;
if not ActSave.Enabled then Exit;
if qryRab110.Locate('R110_003',Edit3.Text,[loCaseInsensitive]) then
begin
ADOQuery1R500_004.AsString:=qryRab110R110_001.AsString;
ADOQuery1R110_003.Value:=qryRab110R110_003.Value;
ADOQuery1R110_004.Value:=qryRab110R110_004.Value;
end else
begin
ShowMsg('UMS10000101'); //无效的住房编号
Abort;
end;
end;
procedure TRab500_01Form.Edit1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton1.Click;
end;
procedure TRab500_01Form.Edit2KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton2.Click;
end;
procedure TRab500_01Form.Edit3KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
inherited;
if Key=vk_F4 then SpeedButton3.Click;
end;
procedure TRab500_01Form.ActInsertExecute(Sender: TObject);
begin
inherited;
//新增
CheckBox1.Enabled:=True;
ADOQuery1R500_002.Value:=Date;
ADOQuery1R500_005.Value:=False;
CheckBox1.Checked:=False;
end;
procedure TRab500_01Form.ActUpdateExecute(Sender: TObject);
begin
//修改
inherited;
CheckBox1.Enabled:=False;
end;
procedure TRab500_01Form.ActSaveExecute(Sender: TObject);
var
AEmpNo,ABulidNo,ARoomNo:Integer;
ANum1,ANum2:Integer;
begin
//保存
//员工编号的合法性
if trim(Edit1.Text)='' then
begin
ShowMsg('UMS10000071'); //员工编号不能为空
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select H150_001 from HRM150 where H150_002='+''''+trim(Edit1.Text)+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000042'); //无效的员工编号
Abort;
end;
end;
AEmpNo:=SYSDM.qryQuery.Fields[0].Value;
//宿舍编号不能为空
if trim(Edit2.Text)='' then
begin
ShowMsg('UMS10000105'); //宿舍编号不能为空
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select R100_001 from RAB100 where R100_002='+''''+trim(Edit2.Text)+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000100'); //无效的宿舍编号
Abort;
end;
end;
ABulidNo:=SYSDM.qryQuery.Fields[0].Value;
//住房编号不能空
if trim(Edit3.Text)='' then
begin
ShowMsg('UMS10000106'); //住房编号不能为空
Abort;
end else
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select R110_001,R110_006,R110_007 from RAB110 where R110_002='+IntToStr(ABulidNo)+' and R110_003='+''''+trim(Edit3.Text)+'''');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.IsEmpty then
begin
ShowMsg('UMS10000101'); //无效的住房编号
Abort;
end;
end;
ARoomNo:=SYSDM.qryQuery.FieldByName('R110_001').Value;
ANum1:=SYSDM.qryQuery.FieldByName('R110_006').Value;
if not SYSDM.qryQuery.FieldByName('R110_007').IsNull then
ANum2:=SYSDM.qryQuery.FieldByName('R110_007').Value
else
ANum2:=0;
//可住人数=已住人数
if not CheckBox1.Checked then
begin
if ANum1=ANum2 then
begin
ShowMsg('UMS10000107'); //住房已住满,请选择其他住房
Abort;
end;
end;
//退房
if CheckBox1.Checked then
begin
//住房最后一条记录
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select top 1 R500_002,R500_003,R500_004 from RAB500 where R500_001='+IntToStr(AEmpNo)+' order by R500_002 desc');
SYSDM.qryQuery.Open;
if (SYSDM.qryQuery.FieldByName('R500_003').Value<>ABulidNo) or
(SYSDM.qryQuery.FieldByName('R500_004').Value<>ARoomNo) or
(SYSDM.qryQuery.FieldByName('R500_002').Value>wwDBDateTimePicker1.Date) or
(not CheckBox1.Checked) then
begin
ShowMsg('UMS10000108'); //无效的员工住房记录
Abort;
end;
end;
inherited;
//修改已住人数
SetPerson;
CheckBox1.Enabled:=True;
end;
procedure TRab500_01Form.ADOQuery1AfterScroll(DataSet: TDataSet);
begin
inherited;
if ADOQuery1.IsEmpty then Exit;
CheckBox1.Checked:=ADOQuery1R500_005.Value;
Edit1.Text:=ADOQuery1H150_002.AsString;
Edit2.Text:=ADOQuery1R100_002.AsString;
Edit3.Text:=ADOQuery1R110_003.AsString;
end;
procedure TRab500_01Form.ActDeleteExecute(Sender: TObject);
begin
inherited;
//删除
SetPerson; //修改已住人数
end;
procedure TRab500_01Form.ADOQuery1CalcFields(DataSet: TDataSet);
begin
inherited;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select H150_001,H150_002,H150_003,R100_002,R100_003,R110_003,R110_004 from RAB500 A, HRM150 B, RAB100 C, RAB110 D where A.R500_001=B.H150_001 and A.R500_003=C.R100_001 and A.R500_004=D.R110_001');
SYSDM.qryQuery.Open;
if SYSDM.qryQuery.Locate('H150_001',ADOQuery1R500_001.Value,[]) then
begin
ADOQuery1H150_002.Value:=SYSDM.qryQuery.FieldByName('H150_002').Value;
ADOQuery1H150_003.Value:=SYSDM.qryQuery.FieldByName('H150_003').Value;
ADOQuery1R100_002.Value:=SYSDM.qryQuery.FieldByName('R100_002').Value;
ADOQuery1R100_003.Value:=SYSDM.qryQuery.FieldByName('R100_003').Value;
ADOQuery1R110_003.Value:=SYSDM.qryQuery.FieldByName('R110_003').Value;
ADOQuery1R110_004.Value:=SYSDM.qryQuery.FieldByName('R110_004').Value;
end;
end;
procedure TRab500_01Form.ActCancelExecute(Sender: TObject);
begin
inherited;
CheckBox1.Enabled:=True;
end;
procedure TRab500_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryHrm150.Close;
qryRab100.Close;
qryRab110.Close;
end;
initialization
RegisterClass(TRab500_01Form);
finalization
UnRegisterClass(TRab500_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -