Report Builder detail band does not grow dynamically...

Getting your data onto paper - or the web - Discussing the reports features of Base
Post Reply
Bazsl1
Posts: 29
Joined: Mon Aug 03, 2015 8:07 pm

Report Builder detail band does not grow dynamically...

Post by Bazsl1 »

I have created my first report using Oracle Report Builder. One of the fields is a memo field that contains varying amounts of text for each record. How can I get the memo component on the report and the report's detail band to expand and contract dynamically so all of the text in the memo field for each record will be printed? Thanks.
OpenOffice 4.1.2 on Windows 10 Pro
F3K Total
Volunteer
Posts: 1038
Joined: Fri Dec 16, 2011 8:20 pm

Re: Report Builder detail band does not grow dynamically...

Post by F3K Total »

Hello,
Oracle Report Builder has not this function. It's possible by code, but by far not easy, or with the native-Report Builder.
R
  • MMove 1.0.6
  • Extension for easy, exact positioning of shapes, pictures, controls, frames ...
  • my current system
  • Windows 10 AOO, LOLinux Mint AOO, LO
longi
Posts: 110
Joined: Mon Jul 15, 2013 5:04 pm

Re: Report Builder detail band does not grow dynamically...

Post by longi »

Hi!
Something like that:

Code: Select all

Sub ORB
    ocontroller = Thisdatabasedocument.currentController
    if not ocontroller.isconnected then ocontroller.connect                                         ' We get the conection
    oreportdoc = Thisdatabasedocument.reportdocuments.getbyname("MYREPORT").open                    ' We open the report
    '-------------------------------------------------------
    ' 3º We get the control of the texttable
   
    oTexttable = oreportdoc.Texttables(2)                                                           ' The  texttable in the report which has our data
    oreportdoc.GetCurrentController().Select(oTexttable)                                            ' We get the control of the texttable
    oCell=oTextTable.getCellByPosition(0,17)                                                        ' Cell in which we want to have more than one line (0 is the number of column, and 17 the number of row - which is to change in order of our needs -)
    oText = oCell.Text                                                                              ' Text inside the cell
    oCurs = oText.createTextCursor()                                                                ' We generate a cursor in the cell (Textcursor)
    oCurs.gotoEND(True)                                                                             ' We go to the end of the text, so all actions will be about all the text
    oTexttable.getRows().getByIndex(17).IsAutoHeight = True                                         ' The row has autoheight (The main goal of the request)
    LineSpace = oCurs.paralinespacing                                                               ' We can have more space beetwen lines
    LineSpace.height = 150                                                                          ' Interlineado de 1,5
    oCurs.paralinespacing = LineSpace                                                               ' We put the space in all the text selected by the cursor
Exit Sub
If you use non ORB reports, you have the posibility when you are designing the report, however you have a big trouble if you want a block of text (justified), wich is possible in ORB before finishing the design, but not without ORB (Openoffice).
If you are interested, it is possible, but macros are larger than enough and a bit complicated to follow.
You have several examples in :

https://drive.google.com/file/d/0B9p04i ... sp=sharing

Sorry!, explanations are in Spanish. Have a look on the third page of the form, where you have a group of macros to get reports like a mail merge tool.

Bye!
OpenOffice 4.1.5 on Windows 10
LibreOffice 5.1 on Windows 7
LibreOffice 6.0.1 on Windows10
Post Reply