📄 printcontractunit.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 + -