Class Tfrmxtab (unit cross32)

Inherits from

TForm

Constructors



Functions

procedure FormCreate(Sender: TObject);

Now we "rotate" the data to ouput the crosstab report

procedure FormDestroy(Sender: TObject);


procedure QRBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);


procedure QRSubDetail2BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);


procedure QuickRep1BeforePrint(Sender: TQuickRep; var PrintReport: Boolean);

Now we fill our array, each state gets it's own row.

Properties

Events

Variables

QRBand1 : TQRBand;


QRDBText1 : TQRDBText;


QRDBText2 : TQRDBText;


QRGroup1 : TQRGroup;


QRLabel1 : TQRLabel;


QRLabel2 : TQRLabel;


QRLabel3 : TQRLabel;


QRLabel4 : TQRLabel;


QRLabel5 : TQRLabel;


QRLabel6 : TQRLabel;


QRMemo1 : TQRMemo;


QRSubDetail1 : TQRSubDetail;


QRSubDetail2 : TQRSubDetail;


Query1 : TQuery;


Query1Customers : TIntegerField;


Query1State : TStringField;


QuickRep1 : TQuickRep;


TitleBand1 : TQRBand;


Matrix : array [1..50,1..2] of string;

Public declarations } { Define a matix array for 50 states with 2 columns

qrlCustomers : array [0..10] of TQRLabel;


qrlStates : array [0..10] of TQRLabel;


Row : integer;



Constructors


Functions


procedure FormCreate(Sender: TObject);

Now we "rotate" the data to ouput the crosstab report


procedure FormDestroy(Sender: TObject);


procedure QRBand1BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);


procedure QRSubDetail2BeforePrint(Sender: TQRCustomBand; var PrintBand: Boolean);


procedure QuickRep1BeforePrint(Sender: TQuickRep; var PrintReport: Boolean);

Now we fill our array, each state gets it's own row. We are basicly building a copy of the dataset in memory, because it's faster to navigate the array when dong a crosstab report.


Properties


Events


Variables


QRBand1 : TQRBand;


QRDBText1 : TQRDBText;


QRDBText2 : TQRDBText;


QRGroup1 : TQRGroup;


QRLabel1 : TQRLabel;


QRLabel2 : TQRLabel;


QRLabel3 : TQRLabel;


QRLabel4 : TQRLabel;


QRLabel5 : TQRLabel;


QRLabel6 : TQRLabel;


QRMemo1 : TQRMemo;


QRSubDetail1 : TQRSubDetail;


QRSubDetail2 : TQRSubDetail;


Query1 : TQuery;


Query1Customers : TIntegerField;


Query1State : TStringField;


QuickRep1 : TQuickRep;


TitleBand1 : TQRBand;


Matrix : array [1..50,1..2] of string;

Public declarations } { Define a matix array for 50 states with 2 columns


qrlCustomers : array [0..10] of TQRLabel;


qrlStates : array [0..10] of TQRLabel;


Row : integer;