janschenkel at yahoo.com
Mon Oct 27 04:51:36 EST 2003
--- Till Bandi <tbandi at swissonline.ch> wrote:
> I seem not to understand how to use the Report
> Builder. (I also did not
> find enough help in the documentation). Is there
> somewhere a tutorial
> or could anyone give me an example stack where I for
> instance can see
> how one can print labels ( in an A4 page)?
> Thanks for any hints, Till
The Report Builder seems a mistery to quite a few
people. Here's what I found out :
- the starting point is that there will be two stacks,
and that the data in the 'report' stack comes from the
fields in what we'll simply call the 'source' stack ;
- in the 'report' stack, which will hold the layout
for the report, and you will add report objects, which
you then link to the fields in the source stack by
using the 'Magic wand' ;
- upon printing time, the report builder will copy the
content of the fields from the source stack into the
report stack, and print the card ; going through all
the cards in the source stack that fall within your
print selection criteria.
So let's start a little experiment, using two new
stacks. The first will be our source stack, the latter
will be our report stack.
In the Source stack, add 2 fields "Name" and "Memo" ;
group them, and use the Inspector palette to turn on
Now create a few cards, filling in data into the
fields so we can check if everything works.
Now go to the report stack, and create two report
objects ; then use the Inspector palette to link one
report object to the field "Name" and the other to the
Note that when you click the "Apply" button, the
report object resizes to mimick the size of the source
Of course you can add the whole range of graphics,
images and other items such as label fields to your
layout, providing the static surroundings.
Now use the 'View' menu, sub-menu 'Go to report page'
to move around to the next, first, last page, etc. Lo'
and behold, the two report object fields are updated
automatically to reflect the data in the source
Remember I told you that clicking the "Apply" button
would copy the original field settings ?
Well now comes the fun part : resize the report
object, and play with the settings in the panel "Text
formatting" (for example, set the alignment to center
and set its style to bold).
The data in the original fields will not be affected,
but when you move around in your report stack via the
'View' menu, everything is updated correctly. Note
that any style information at chunk level is not
While you were in the report object Inspector palette,
you must have noticed the "Formatting options" option
menu. This allows you to automagically format the
copied data, in all sorts of manners.
Another intriguing option in that regards is linking
your report object to a 'table' style field, and apply
several formatting options to either an entire column,
or individual chunks.
Other advanced uses are the 'Label' functionality,
which allows you to make a small report stack, and set
the gutters between the labels, so you can print, say
8 rows of 3 labels, corresponding to 24 cards in the
You can also create separate 'header' and 'footer'
stacks, the content of which you can print (quite
unsurprisingly) at the top and bottom of each page.
Especially handy in this regard is the fact that as
these are separate stacks, you can easily reuse them
in other reports.
Integrating the report builder with the database query
builder is a different story : basically, you'll have
to first populate a separate stack with the data from
your MySQL database, and then print the report with
objects linked to this separate data stack.
Not the most elegant of solutions, but it works ; and
I'm sure we'll see many an improvement in the
reporting area in the future. In the meantime, the
current report builder has its uses, once you get to
terms with its innards.
Hope this clarified things a bit ; don't hesitate to
poke me for more information.
"As we grow older, we grow both wiser and more foolish at the same time." (La Rochefoucauld)
Do you Yahoo!?
Exclusive Video Premiere - Britney Spears
More information about the Use-livecode