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

📄 edititemunit.pas

📁 短小而实用的房地产销售管理软件
💻 PAS
字号:
Unit EditItemUnit;

Interface

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

Type
   TEditItemForm = Class(TForm)
      LbButton1: TLbButton;
      LbButton2: TLbButton;
      AALabel1: TAALabel;
      DBText1: TDBText;
      AALabel2: TAALabel;
      DBText2: TDBText;
      Bevel1: TBevel;
      AALabel3: TAALabel;
      AALabel4: TAALabel;
      AALabel5: TAALabel;
      AALabel6: TAALabel;
      DBEdit1: TDBEdit;
      DBEdit2: TDBEdit;
      AALabel7: TAALabel;
      AALabel8: TAALabel;
      DBEdit3: TDBEdit;
      AALabel9: TAALabel;
      DBComboBox1: TDBComboBox;
      AALabel10: TAALabel;
      DBNumberEditEh1: TDBNumberEditEh;
      AALabel11: TAALabel;
      AALabel12: TAALabel;
      AALabel13: TAALabel;
      AALabel14: TAALabel;
      AALabel15: TAALabel;
      DBDateTimeEditEh1: TDBDateTimeEditEh;
      AALabel16: TAALabel;
      DBNumberEditEh3: TDBNumberEditEh;
      AALabel17: TAALabel;
      AALabel18: TAALabel;
      DBNumberEditEh4: TDBNumberEditEh;
      AALabel20: TAALabel;
      DBNumberEditEh5: TDBNumberEditEh;
      AALabel21: TAALabel;
      AALabel19: TAALabel;
      AALabel22: TAALabel;
      DBDateTimeEditEh2: TDBDateTimeEditEh;
      AALabel23: TAALabel;
      AALabel24: TAALabel;
      DBDateTimeEditEh3: TDBDateTimeEditEh;
      AALabel25: TAALabel;
      AALabel26: TAALabel;
      DBDateTimeEditEh4: TDBDateTimeEditEh;
      AALabel27: TAALabel;
      AALabel28: TAALabel;
      DBDateTimeEditEh5: TDBDateTimeEditEh;
      AALabel29: TAALabel;
      AALabel30: TAALabel;
      DBEdit4: TDBEdit;
      AALabel31: TAALabel;
      DBMemo1: TDBMemo;
      AALabel32: TAALabel;
      AALabel33: TAALabel;
      CheckListBox3: TCheckListBox;
      AALabel34: TAALabel;
      CheckListBox4: TCheckListBox;
      AALabel35: TAALabel;
      DBEdit5: TDBEdit;
      DBEdit6: TDBEdit;
      DBEdit7: TDBEdit;
      AALabel36: TAALabel;
      ADOQuery1: TADOQuery;
      DataSource1: TDataSource;
      DBGridEH1: TDBGridEh;
      Bevel2: TBevel;
      Procedure LbButton1Click(Sender: TObject);
      Procedure LbButton2Click(Sender: TObject);
      Procedure DBEdit5Change(Sender: TObject);
      Procedure DBDateTimeEditEh1Exit(Sender: TObject);
      Procedure DBDateTimeEditEh2Exit(Sender: TObject);
      Procedure DBDateTimeEditEh3Exit(Sender: TObject);
      Procedure DBDateTimeEditEh5Exit(Sender: TObject);
      Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
      Procedure FormCreate(Sender: TObject);
   Private
    { Private declarations }
   Public
    { Public declarations }
   End;

Var
   EditItemForm     : TEditItemForm;
   BADD             : Boolean;
   strTempItemID    : String;
Implementation
Uses DM, VIEWItemUnit, PUBFunction;
{$R *.dfm}

Procedure TEditItemForm.LbButton1Click(Sender: TObject);
Begin
   VIEWItemForm.ADOQuery2.Cancel;
   Close;
End;

Procedure TEditItemForm.LbButton2Click(Sender: TObject);

   Function IsInputNil: Boolean;
   Begin
      result := true;
      If (Trim(DBEdit1.Text) = '') Or (Trim(DBEdit2.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 项目编号=''' + DBEdit1.Text + '''';
         open;
         result := recordcount > 0;
         Free;
      End;
   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 项目编号=''' + strTempItemID + '''';
      ADOX.ExecSQL;
      ADOX.Free;
   End;

Var
   GHYT, XMLB       : 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 <> strTempItemID Then Begin
         If ExtRec Then Begin
            Application.MessageBox('记录修改失败,记录已存在!请修改项目编号',
               '出错信息', MB_ICONERROR);
            DBEdit1.Text := '';
            DBEdit1.SetFocus;
            Exit;
         End;
      End;
   End;
   //修改其他相关表中编号
   For i := 0 To sTnames.Count - 1 Do
      If (ExtFieldInTable(sTnames[i], '项目编号')) Then
         If Not (sTnames[i] = '项目信息表') Then
            ModifyRecAboutGD(sTnames[i]);

   GHYT := '';
   XMLB := '';
   For i := 0 To CheckListBox3.Count - 1 Do Begin
      If CheckListBox3.Checked[i] Then
         GHYT := GHYT + CheckListBox3.Items[i] + '_';
   End;
   GHYT := Copy(GHYT, 0, Length(GHYT) - 1);

   For i := 0 To CheckListBox4.Count - 1 Do Begin
      If CheckListBox4.Checked[i] Then
         XMLB := XMLB + CheckListBox4.Items[i] + '_';
   End;
   XMLB := Copy(XMLB, 0, Length(XMLB) - 1);
   DBEdit5.Text := GHYT;
   DBEdit6.Text := XMLB;
///
   VIEWItemForm.ADOQuery2.fieldbyname('公司编号').AsString :=
      DBText1.Caption;
   VIEWItemForm.ADOQuery2.post;
   Close;
End;

Procedure TEditItemForm.DBEdit5Change(Sender: TObject);
Var
   GHYT, XMLB       : String;
   i, k             : integer;
   SL               : TStringlist;
Begin
   GHYT := DBEdit5.Text;
   XMLB := DBEdit6.Text;
   For i := 0 To CheckListBox3.Count - 1 Do
      CheckListBox3.Checked[i] := false;
   For i := 0 To CheckListBox4.Count - 1 Do
      CheckListBox4.Checked[i] := false;

   SL := TStringlist.create;
   SL := Split(GHYT, '_');

   For i := 0 To SL.Count - 1 Do Begin
      k := CheckListBox3.Items.IndexOf(SL[i]);
      If k >= 0 Then CheckListBox3.Checked[k] := true;
   End;
   SL.Clear;
   SL := Split(XMLB, '_');
   For i := 0 To SL.Count - 1 Do Begin
      k := CheckListBox4.Items.IndexOf(SL[i]);
      If k >= 0 Then CheckListBox4.Checked[k] := true;
   End;
   SL.Free;
End;

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

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

Procedure TEditItemForm.DBDateTimeEditEh3Exit(Sender: TObject);
Begin
   FixEhDTBug(DBDateTimeEditEh3);
End;

Procedure TEditItemForm.DBDateTimeEditEh5Exit(Sender: TObject);
Begin
   FixEhDTBug(DBDateTimeEditEh4);
End;

Procedure TEditItemForm.FormClose(Sender: TObject;
   Var Action: TCloseAction);
Begin
   Action := cafree;
   EditItemForm := Nil;
End;

Procedure TEditItemForm.FormCreate(Sender: TObject);
Begin
   strTempItemID := VIEWItemForm.ADOQuery2.fieldbyname('项目编号').Text;
   ADOQuery1.sql.Text :=
      'select 项目信息表.项目名称,单体信息表.* from 单体信息表,项目信息表 where ' +
      '项目信息表.项目编号=单体信息表.项目编号 and ' +
      '项目信息表.公司编号=单体信息表.公司编号 and ' +
      '单体信息表.公司编号=''' + DBText1.Caption + ''' and ' +
      '单体信息表.项目编号=''' + DBEdit1.Text + '''';

   ADOQuery1.open;
End;

End.

⌨️ 快捷键说明

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