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

📄 printcontractunit.pas

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

Interface

Uses
   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
   Dialogs, StdCtrls, ExtCtrls, DB, ADODB, Grids, DBGridEh, AAFont, AACtrls,
   LbSpeedButton, ACReportClass;

Type
   TPrintContractForm = Class(TForm)
      Panel1: TPanel;
      combobox1: TComboBox;
      DataSource1: TDataSource;
      ADOQuery1: TADOQuery;
      DataSource2: TDataSource;
      ADOQuery2: TADOQuery;
      Panel3: TPanel;
      Splitter3: TSplitter;
      ADOQuery4: TADOQuery;
      DataSource4: TDataSource;
      Panel4: TPanel;
      DataSource5: TDataSource;
      ADOQuery5: TADOQuery;
      DBGridEh4: TDBGridEh;
      AALabel2: TAALabel;
      AALabel3: TAALabel;
      DBGridEh5: TDBGridEh;
      Panel2: TPanel;
      DBGridEH1: TDBGridEh;
      Splitter1: TSplitter;
      Panel5: TPanel;
      DBGridEh2: TDBGridEh;
      AALabel1: TAALabel;
      LbSpeedButton7: TLbSpeedButton;
      LbSpeedButton6: TLbSpeedButton;
      CheckBox1: TCheckBox;
      LbSpeedButton5: TLbSpeedButton;
      AcReport1: TAcReport;
      AALabel4: TAALabel;
      Procedure FormClose(Sender: TObject; Var Action: TCloseAction);
      Procedure FormCreate(Sender: TObject);
      Procedure DBGridEh1CellClick(Column: TColumnEh);
      Procedure DBGridEh2CellClick(Column: TColumnEh);
      Procedure ComboBox1Change(Sender: TObject);
      Procedure DBGridEh4CellClick(Column: TColumnEh);
      Procedure LbSpeedButton5Click(Sender: TObject);
      Procedure LbSpeedButton7Click(Sender: TObject);
      Procedure ADOQuery1AfterScroll(DataSet: TDataSet);
      Procedure ADOQuery2AfterScroll(DataSet: TDataSet);
   Private
    { Private declarations }
   Public
    { Public declarations }
   End;

Var
   PrintContractForm: TPrintContractForm;
   sTname           : String;
Implementation
Uses DM;
{$R *.dfm}

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

Procedure TPrintContractForm.FormCreate(Sender: TObject);
Begin
   If combobox1.Text = '预销售' Then
      sTname := '单元预售表'
   Else
      sTname := '单元拆迁还建表';
   ADOQuery1.sql.Text :=
      'SELECT 公司名称,公司编号 from 公司信息表';
   ADOQuery1.open;
   If ADOQuery1.recordcount > 0 Then
      DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);

End;

Procedure TPrintContractForm.DBGridEh1CellClick(Column: TColumnEh);
Begin
   ADOQuery4.Close;
   ADOQuery5.Close;

   With ADOQuery2 Do Begin
      sql.Text :=
         'select * FROM 客户信息表 WHERE 公司编号=''' +
         ADOQuery1.fieldbyname('公司编号').Text + ''' order by 客户编号';
      open;
   End;
   If ADOQuery2.recordcount > 0 Then
      DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;

Procedure TPrintContractForm.DBGridEh2CellClick(Column: TColumnEh);
Begin
   ADOQuery4.Close;
   ADOQuery5.Close;
   With ADOQuery4 Do Begin
      sql.Text :=
         'select * FROM ' + sTname + ' WHERE 公司编号=''' +
         ADOQuery1.fieldbyname('公司编号').Text + ''' and 客户编号=''' +
         ADOQuery2.fieldbyname('客户编号').Text + ''' and 是否过期=FALSE ' +
         ' order by 合同号';
      open;

   End;
   If ADOQuery4.recordcount > 0 Then
      DBGridEh4CellClick(DBGridEh4.Columns.Items[0]);
End;

Procedure TPrintContractForm.ComboBox1Change(Sender: TObject);
Begin
   If combobox1.Text = '预销售' Then
      sTname := '单元预售表'
   Else
      sTname := '单元拆迁还建表';

   DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;

Procedure TPrintContractForm.DBGridEh4CellClick(Column: TColumnEh);
Var
   ADOI             : TADOQuery;
Begin
   ADOQuery5.Close;
   With ADOQuery5 Do Begin
      sql.Text :=
         'SELECT a.暂定座落名,a.现座落名, a.幢号, a.产权范围, a.户型, a.总层数,a.所在楼层, ' +
         'a.合同约定建筑面积, a.合同约定套内面积,a.合同约定分摊面积,a.用途, b.合同单价, b.合同总价 ' +
         'FROM 单元信息表 a Right join 单元预售表 b on a.公司编号=b.公司编号 ' +
         'where a.房号=b.房号 and a.幢号=b.幢号 and a.项目编号=b.项目编号 and ' +
         'b.合同号=''' + ADOQuery4.fieldbyname('合同号').Text + '''';

      open;

   End;
   ADOI := TADOQuery.create(self);
   With ADOI Do Begin
      connection := DM.DataModule2.ADOConnection1;
      sql.Text := 'SELECT * from 项目信息表 WHERE 公司编号=''' +
         ADOQuery4.fieldbyname('公司编号').Text + ''' and 项目编号=''' +
         ADOQuery4.fieldbyname('项目编号').Text + '''';
      open;
      AcReport1.Variants.ItemByName('项目名称').value :=
         fieldbyname('项目名称').Text;

      Free;
   End;

End;

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

Procedure TPrintContractForm.LbSpeedButton7Click(Sender: TObject);
Begin
   If (CheckBox1.Checked) Or (ADOQuery5.recordcount = 0) Then
      AcReport1.LoadFromFile(CURRDIR+'\NIL_BB1.APT')
   Else
      AcReport1.LoadFromFile(CURRDIR+'\BB1.APT');

   Case TLbSpeedButton(Sender).tag Of
      21: AcReport1.Preview;
      22: AcReport1.Print;
   End;
End;

Procedure TPrintContractForm.ADOQuery1AfterScroll(DataSet: TDataSet);
Begin
   DBGridEh1CellClick(DBGridEH1.Columns.Items[0]);
End;

Procedure TPrintContractForm.ADOQuery2AfterScroll(DataSet: TDataSet);
Begin
   DBGridEh2CellClick(DBGridEh2.Columns.Items[0]);
End;

Initialization
   sTname := '单元预售表';
End.

⌨️ 快捷键说明

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