⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edithoursefm.pas

📁 一款房产中介软件
💻 PAS
字号:
Unit EditHourseFM;

Interface

Uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, ComCtrls, LbButton, StdCtrls, DBCtrls, Mask, ExtCtrls, DBCtrlsEh,
   CheckLst, DB, ADODB, Grids, DBGridEh, GridsEh;

Type
   TfrmEditHourse = Class(TForm)
      LbButton2: TButton;
      AALabel1: TLabel;
      DBText1: TDBText;
      AALabel2: TLabel;
      DBText2: TDBText;
      AALabel3: TLabel;
      DBText3: TDBText;
      AALabel4: TLabel;
      DBText4: TDBText;
      AALabel5: TLabel;
      AALabel6: TLabel;
      DBEdit1: TDBEdit;
      Bevel1: TBevel;
      AALabel8: TLabel;
      DBEdit2: TDBEdit;
      AALabel9: TLabel;
      DBComboBox1: TDBComboBox;
      AALabel7: TLabel;
      AALabel18: TLabel;
      DBNumberEditEh4: TDBNumberEditEh;
      AALabel10: TLabel;
      DBNumberEditEh1: TDBNumberEditEh;
      AALabel11: TLabel;
      AALabel12: TLabel;
      AALabel13: TLabel;
      DBNumberEditEh2: TDBNumberEditEh;
      AALabel14: TLabel;
      AALabel15: TLabel;
      DBComboBox2: TDBComboBox;
      AALabel16: TLabel;
      AALabel17: TLabel;
      DBDateTimeEditEh1: TDBDateTimeEditEh;
      AALabel19: TLabel;
      AALabel20: TLabel;
      DBDateTimeEditEh2: TDBDateTimeEditEh;
      AALabel21: TLabel;
      CheckListBox1: TCheckListBox;
      AALabel22: TLabel;
      DBEdit3: TDBEdit;
      Bevel2: TBevel;
      AALabel36: TLabel;
      DBGridEH1: TDBGridEh;
      DataSource1: TDataSource;
    qry1: TADOQuery;
      LbButton1: TButton;
      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
    BADD             : Boolean;
    { Public declarations }
   End;

Var
   frmEditHourse   : TfrmEditHourse;
   
   StrTemphourseID  : String;
Implementation
Uses MainDM, ViewHouseFM, PUBFunction;
{$R *.dfm}

Procedure TfrmEditHourse.FormClose(Sender: TObject;
   Var Action: TCloseAction);
Begin
   Action := cafree;
   frmEditHourse := nil;
End;

Procedure TfrmEditHourse.LbSpeedButton5Click(Sender: TObject);
Begin
   Close;
End;

Procedure TfrmEditHourse.LbButton1Click(Sender: TObject);
Begin
   frmViewHouse.ADOQuery3.Cancel;
   Close;
End;

Procedure TfrmEditHourse.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 := DMMain.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 := DMMain.ADOConnection1;
      ADOX.sql.Text := 'UPDATE 单元信息表 SET 总层数=' +
         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 := DMMain.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;                         //修改单元总楼层字段

   //修改其他相关表中编号
{   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;

   frmViewHouse.ADOQuery3.fieldbyname('公司编号').AsString :=
      DBText1.Caption;
   frmViewHouse.ADOQuery3.fieldbyname('项目编号').AsString :=
      DBText3.Caption;
   frmViewHouse.ADOQuery3.post;
   Close;
End;

Procedure TfrmEditHourse.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 TfrmEditHourse.FormCreate(Sender: TObject);
Var
   i                : integer;
   GHYT             : String;
   SL               : TStringlist;
Begin
   StrTemphourseID := frmViewHouse.ADOQuery3.fieldbyname('幢号').Text;
   GHYT := frmViewHouse.ADOQuery2.fieldbyname('规划用途').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);

   qry1.sql.Text := 'select * from 单元信息表 where ' +
      '单元信息表.公司编号=''' + DBText1.Caption +
      ''' and 单元信息表.项目编号=''' + DBText3.Caption +
      ''' AND 单元信息表.幢号=''' + DBEdit1.Text + '''';

   qry1.open;
End;

Procedure TfrmEditHourse.DBDateTimeEditEh1Exit(Sender: TObject);
Begin
   PUBFunction.FixEhDTBug(DBDateTimeEditEh1);
End;

Procedure TfrmEditHourse.DBDateTimeEditEh2Exit(Sender: TObject);
Begin
   FixEhDTBug(DBDateTimeEditEh2);
End;

End.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -