?? edithourseunit.pas
字號:
Unit EditHourseUnit;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, LbSpeedButton, AAFont, AACtrls, LbButton, StdCtrls,
DBCtrls, Mask, ExtCtrls, DBCtrlsEh, CheckLst, DB, ADODB, Grids, DBGridEh;
Type
TEditHourseForm = Class(TForm)
LbButton2: TLbButton;
AALabel1: TAALabel;
DBText1: TDBText;
AALabel2: TAALabel;
DBText2: TDBText;
AALabel3: TAALabel;
DBText3: TDBText;
AALabel4: TAALabel;
DBText4: TDBText;
AALabel5: TAALabel;
AALabel6: TAALabel;
DBEdit1: TDBEdit;
Bevel1: TBevel;
AALabel8: TAALabel;
DBEdit2: TDBEdit;
AALabel9: TAALabel;
DBComboBox1: TDBComboBox;
AALabel7: TAALabel;
AALabel18: TAALabel;
DBNumberEditEh4: TDBNumberEditEh;
AALabel10: TAALabel;
DBNumberEditEh1: TDBNumberEditEh;
AALabel11: TAALabel;
AALabel12: TAALabel;
AALabel13: TAALabel;
DBNumberEditEh2: TDBNumberEditEh;
AALabel14: TAALabel;
AALabel15: TAALabel;
DBComboBox2: TDBComboBox;
AALabel16: TAALabel;
AALabel17: TAALabel;
DBDateTimeEditEh1: TDBDateTimeEditEh;
AALabel19: TAALabel;
AALabel20: TAALabel;
DBDateTimeEditEh2: TDBDateTimeEditEh;
AALabel21: TAALabel;
CheckListBox1: TCheckListBox;
AALabel22: TAALabel;
DBEdit3: TDBEdit;
Bevel2: TBevel;
AALabel36: TAALabel;
DBGridEH1: TDBGridEh;
DataSource1: TDataSource;
ADOQuery1: TADOQuery;
LbButton1: TLbButton;
Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
Procedure LbSpeedButton5Click(Sender: TObject);
Procedure LbButton2Click(Sender: TObject);
Procedure DBEdit3Change(Sender: TObject);
Procedure FormCreate(Sender: TObject);
Procedure DBDateTimeEditEh1Exit(Sender: TObject);
Procedure DBDateTimeEditEh2Exit(Sender: TObject);
Procedure LbButton1Click(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
EditHourseForm : TEditHourseForm;
BADD : Boolean;
StrTemphourseID : String;
Implementation
Uses DM, ViewHouseUnit, PUBFunction;
{$R *.dfm}
Procedure TEditHourseForm.FormClose(Sender: TObject;
Var Action: TCloseAction);
Begin
Action := cafree;
EditHourseForm := Nil;
End;
Procedure TEditHourseForm.LbSpeedButton5Click(Sender: TObject);
Begin
Close;
End;
Procedure TEditHourseForm.LbButton1Click(Sender: TObject);
Begin
ViewHouseForm.ADOQuery3.Cancel;
Close;
End;
Procedure TEditHourseForm.LbButton2Click(Sender: TObject);
Function IsInputNil: Boolean;
Begin
result := true;
If (Trim(DBEdit1.Text) = '') Then Begin
Application.MessageBox('記錄添加失敗!樓房幢號不能為空!請修改幢號!',
'出錯信息', MB_ICONERROR);
DBEdit1.SetFocus;
result := false;
End;
End;
Function ExtRec: Boolean;
Var
ADOQ : TADOQuery;
Begin
ADOQ := TADOQuery.create(self);
With ADOQ Do Begin
connection := DM.DataModule2.ADOConnection1;
sql.Text := 'SELECT 幢號 FROM 單體信息表' +
' WHERE 公司編號=''' + DBText1.Caption +
''' AND 項目編號=''' + DBText3.Caption +
''' AND 幢號=''' + DBEdit1.Text + '''';
open;
result := recordcount > 0;
Free;
End;
End;
Procedure ModifyFloor;
Var
ADOX : TADOQuery;
Begin
ADOX := TADOQuery.create(self);
ADOX.connection := DM.DataModule2.ADOConnection1;
ADOX.sql.Text := 'UPDATE 單元信息表 SET 總層數(shù)=' +
DBNumberEditEh1.Text + ' where 公司編號=''' +
DBText1.Caption + ''' AND 項目編號=''' +
DBText3.Caption + ''' and 幢號=''' +
StrTemphourseID + '''';
ADOX.ExecSQL;
ADOX.Free;
End;
Procedure ModifyRecAboutGD(sTablename: String);
Var
ADOX : TADOQuery;
Begin
ADOX := TADOQuery.create(self);
ADOX.connection := DM.DataModule2.ADOConnection1;
ADOX.sql.Text := 'UPDATE ' + sTablename + ' SET 幢號=''' +
DBEdit1.Text + ''' where 公司編號=''' +
DBText1.Caption + ''' AND 項目編號=''' +
DBText3.Caption + ''' and 幢號=''' +
StrTemphourseID + '''';
ADOX.ExecSQL;
ADOX.Free;
End;
Var
GHYT : String;
i : integer;
Begin
If Not IsInputNil Then Exit;
If BADD Then Begin
If ExtRec Then Begin
Application.MessageBox('記錄添加失敗,記錄已存在!請修改幢號',
'出錯信息', MB_ICONERROR);
DBEdit1.SetFocus;
Exit;
End;
End Else Begin
If DBEdit1.Text <> StrTemphourseID Then Begin
If ExtRec Then Begin
Application.MessageBox('記錄修改失敗,記錄已存在!請修改幢編號',
'出錯信息', MB_ICONERROR);
DBEdit1.Text := '';
DBEdit1.SetFocus;
Exit;
End;
End;
End;
ModifyFloor; //修改單元總樓層字段
//修改其他相關(guān)表中編號
For i := 0 To sTnames.Count - 1 Do
If (ExtFieldInTable(sTnames[i], '幢號')) Then
If Not (sTnames[i] = '單體信息表') Then
ModifyRecAboutGD(sTnames[i]);
GHYT := '';
For i := 0 To CheckListBox1.Count - 1 Do Begin
If CheckListBox1.Checked[i] Then
GHYT := GHYT + CheckListBox1.Items[i] + '_';
End;
GHYT := Copy(GHYT, 0, Length(GHYT) - 1);
DBEdit3.Text := GHYT;
ViewHouseForm.ADOQuery3.fieldbyname('公司編號').AsString :=
DBText1.Caption;
ViewHouseForm.ADOQuery3.fieldbyname('項目編號').AsString :=
DBText3.Caption;
ViewHouseForm.ADOQuery3.post;
Close;
End;
Procedure TEditHourseForm.DBEdit3Change(Sender: TObject);
Var
GHYT : String;
i, k : integer;
SL : TStringlist;
Begin
GHYT := DBEdit3.Text;
For i := 0 To CheckListBox1.Count - 1 Do
CheckListBox1.Checked[i] := false;
SL := TStringlist.create;
SL := Split(GHYT, '_');
For i := 0 To SL.Count - 1 Do Begin
k := CheckListBox1.Items.IndexOf(SL[i]);
If k >= 0 Then CheckListBox1.Checked[k] := true;
End;
SL.Free;
End;
Procedure TEditHourseForm.FormCreate(Sender: TObject);
Var
i : integer;
GHYT : String;
SL : TStringlist;
Begin
StrTemphourseID := ViewHouseForm.ADOQuery3.fieldbyname('幢號').Text;
GHYT := ViewHouseForm.ADOQuery2.fieldbyname('規(guī)劃用途').Text;
SL := TStringlist.create;
SL := Split(GHYT, '_');
CheckListBox1.Clear;
If SL.Count > 0 Then
For i := 0 To SL.Count - 1 Do Begin
CheckListBox1.Items.Add(SL[i]); //增加
End;
SL.Free;
DBEdit3Change(self);
ADOQuery1.sql.Text := 'select * from 單元信息表 where ' +
'單元信息表.公司編號=''' + DBText1.Caption +
''' and 單元信息表.項目編號=''' + DBText3.Caption +
''' AND 單元信息表.幢號=''' + DBEdit1.Text + '''';
ADOQuery1.open;
End;
Procedure TEditHourseForm.DBDateTimeEditEh1Exit(Sender: TObject);
Begin
PUBFunction.FixEhDTBug(DBDateTimeEditEh1);
End;
Procedure TEditHourseForm.DBDateTimeEditEh2Exit(Sender: TObject);
Begin
FixEhDTBug(DBDateTimeEditEh2);
End;
End.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -