If you do as Mike suggests you get output like follows.
Input data of the report
Student Grade
Aaron A
Betty B
Chris C
Report output as Mike suggests
[pre]
Grade A | Grade B | Grade C
Aaron | |
| Betty |
| | Chris
[/pre]
If you'd rather want output like
[pre]
Grade A | Grade B | Grade C
Aaron | Betty | Chris
[/pre]
If you want this output, then you really have to prepare a cursor or (temp) table with columns GradeA, GradeB, GradeC and fill it with the names, starting first students of each grade in recno 1, second in recno 2, etc. One list will end before others, most probably, that's left empty and the longest list determines number of records needed.
The way you can define columns in the page layout properties means you make the detail band narrower and can then print top to bottom or left to right. In left to right mode you might also get what you want, but then would need to sort data to always have a grade A,B, and C name in that order, then repeat, if Grade A list ends before B and C , you still need an empty entry for Column 1, you need a multiple of three records.
In top to bottom fill mode you could sort by grade, but then would need gap records for each column to fill it up so Grade B and C start printing in their own column. You then need to count how many names fit on a page and thereby know the necessary number of gap records. The number of records then is number of lines x2 + number of Grade C students at least. It's least favorable, as it might fail when one day the paper size changes or printable area or font size...
So perhaps still the simplest case would be preparing one new report cursor with three columns as needed for output. The possibility to define report columns and set them to fill left to right is needing an unusal preparation of the data in the A,B,C,A,B,C,A,B,C... pattern and would then need to change, if you ever introduce a Grade D column.
Bye, Olaf.
Edit: What I said earlier about the capabilities to specify start of data grouping is crap, if you introduce columns you get new options. You can set fill mode to "top to bottom" and set data grouping to let each group start in a new column. That only has the downside if you ever have too many names for one column that group will populate two columns and may therefore have the wrong column caption. Further groups will end up in the next column and shift all further names to next columns.