I have a report that I wrote using the wizard and "Label" style. Here's my dillemna:
I have several Store #'s...that i would like to show up in a column from top to bottom in order 1, 2, 3, 4. Well..with this report they are going across in columns 1, 2 and then on the next like 3, 4....how do i get the report to format where it fills the entire 1st column first and then fills the second column? Know what i mean?
http://server2.ihostphotos.com/show.php?id=13978
Here's a screenshot of my report.
Thanks,
-Nolymytz
Comments
Kind of like page order in Excel.
you want Down, then over rather than Over, then Down
hmmmm.
I can do it in excel & crystal report but I'm not sure how that's done..i'm interested in the reply's from everyone too.
http://www.BiloBeauty.com
http://www.autismspeaks.org
if you have 4 columns to print in 2 steps you'll have to go throught the sourcetable 2x and use some variables.
You can also make some temporary table which matches your layout and populate this while running the report.
It is possible to make a report with columns.
Here is an example how to do this:
This code is not "beautiful", but it´s work !...
Table: Customer
Globals Variables:
Name DataType Subtype Length
intLineCount Integer
Cust2 Record Customer
Cust3 Record Customer
intMaxLine Integer
bolFirst Boolean
bolNewPage Boolean
Customer - OnPreDataItem()
intMaxLine := 55; //Depend on the value in Report.Properties : BottomMargin
bolFirst := TRUE;
bolNewPage := TRUE;
intLineCount := 0;
Cust2.COPYFILTERS(Customer);
Customer - OnAfterGetRecord()
intLineCount += 1;
fctColumnOrder(Customer,Cust2);
fctColumnOrder(VAR parCust : Record Customer;VAR parCust2 : Record Customer)
CLEAR(Cust3);
Cust3.COPYFILTERS(parCust);
WHILE intLineCount > intMaxLine DO
BEGIN
IF Cust2."No." = '' THEN CurrReport.SKIP;
IF Cust2.NEXT(intLineCount-1) = 0 THEN CurrReport.SKIP;
IF parCust.NEXT(intLineCount-1) = 0 THEN CurrReport.SKIP;
intLineCount := 1;
IF Cust2."No." <> '' THEN
IF Cust2.NEXT = 0 THEN BEGIN
parCust.NEXT(-1);
CurrReport.SKIP;
END ELSE BEGIN
Cust2.NEXT(-1);
END;
CurrReport.NEWPAGE;
bolNewPage := TRUE;
END;
Cust3 := Cust2;
IF bolNewPage = TRUE THEN BEGIN
IF parCust."No." <> '' THEN
IF bolFirst = TRUE THEN
IF Cust2.NEXT(intMaxLine) = 0 THEN
CLEAR(Cust2);
IF bolFirst = FALSE THEN
IF Cust3.NEXT(intMaxLine-1) = 0 THEN
CLEAR(Cust2);
IF Cust2."No." <> '' THEN
IF Cust2.NEXT() = 0 THEN
CLEAR(Cust2);
bolFirst := FALSE;
bolNewPage := FALSE;
intLineCount := 1;
END ELSE BEGIN
IF Cust2."No." <> '' THEN
IF Cust2.NEXT() = 0 THEN
CLEAR(Cust2);
END;
Insert a Customer Body Section:
Insert 4 Text Boxes in line:
"No." Name Cust2."No." Cust2.Name
regards ....