I have a table (name: abc) have hundreds of record in single field (actual data is person name instead of numbers)fieldA=====001002003004005...(Total:approx 680 records)

Report writer doesn't support auto multi-columns.... so I made a report with three columnsWhat I need to do is fit the single column data into 3 columns and print out....(each page will print 50 records)That will be :

Then you need to combine the three sets on the Row field:SELECT "Query_Name1"."Row", "Query_Name1"."Name1", "Query_Name2"."Name2", "Query_Name3"."Name3" FROM "Query_Name2", "Query_Name1", "Query_Name3" WHERE "Query_Name2"."Row" = "Query_Name1"."Row" AND "Query_Name3"."Row" = "Query_Name2"."Row"

You can now make a report from this last query. If Base could do sub-reports, like it can sub-forms, then the process would be simpler.You may have to add extra code to allow for the situation when Total is not exactly divisible by 3, but I think you can see the principle.

i've got to be honest & say that i don't get what this topic is all about (what's the purpose?).however using SQL i have solved your issue.i assume that you have a table called "tNames" which contains two fields "ID" integer & "Name" text.

the solution uses three queries.

1. we need a sequential value in order to calculate the values of 'page', 'column' & 'row'.copy & paste the code below here >>>'Queries>Create Query in SQL View' & save as 'qRank'

--because the primary key field 'ID' may not be sequential we assign every table entry a unique sequential value between 0 & total records - 1--we need this value in order to calculate page, column & rowselect ID, (select count(*) from "tNames" where ID < N.ID) "Rank" from "tNames" N

2. next we calculate the grid position of each 'Name' ('page, 'column', 'row').copy & paste the code below here >>>'Queries>Create Query in SQL View' & save as 'qName_Page_Column_Row'.

execute 'qFinal_Output' to ascertain all is OK.the display is exactly as requested without line breaks (this is a query).

'Report Builder' is not the best choice of report engine for us here.we want 50 lines per page. the only way to achieve this with 'Report Builder' is to adjust the height of the text boxes & even when you get this right your header may appear on the final & otherwise blank page.'Calc' is by far the best option.if you're not familiar with 'Base'/'Calc' then follow the steps below.1. register your database here>>>Menu:Tools>Options>OpenOffice Base>Databases'. hit 'New' > hit 'Browse' > select your database & OK everything.your database is now registered & can be accessed via 'Calc'.

2. open 'Calc' hit 'F4' & click the query 'qFinal_Output' in the left hand pane (the query will be displayed). drag the query icon from the left hand pane into cell 'A1'.3. menu:View>Page Break Preview.if necessary drag the slider in the bottom right hand corner to resize the output.scroll down until you see a horizontal blue line. drag this line & position it between row 51 & 52 (this where the page will break).repeat the process for each page(below row 101 then 151 etc.). remember 50 lines per page first row is a header.menu:Format>Print Ranges>Define.menu:Format>Print Ranges>Edit. in the large text box under 'Rows to Repeat' enter the number '1'. hit 'OK'.menu:Format>Page. hit the 'Page' tab & set 'Table alignment' = 'Horizontal'. hit 'OK'menu:View>Normal.hit 'Page Preview' & admire.

i could of course have attached the database but that would be too easy. any problems then let me know.