?? 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 + -