Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

second time previewing report first value is blank

edited April 2006 in General
I know this is not a normal way to create reports but I could not get the
values to print horizontal.
I've used labels instead of databaseaware components.
I use the datapipeline traversal event to populate the labels values.
Everytime a group field changes I clear the labels.
This all works correct the first time I preview the report, but after
generating a report the second time the first label is blank.
What I thought was curious is that when I free the form with the report
on it, it again has this problem on second viewing.
I've tested on third viewing and the problem persists.
I use delphi 5 with reportbuilder 7.04.

Does anybody know what the problem could be?

Luc Neville
DMS Software Products



--- posted by geoForum on http://delphi.newswhat.com

Comments

  • edited April 2006
    Hi Luc,

    Have you tried printing left to right columns? Where are the labels located
    inside your report? If you are for instance printing labels horizontal
    across a band and would like the record to change for each label, you will
    not be able to use the pipeline traversal event. This event will fire for
    each vertical detail band. One option although it is not recommended is to
    traverse your dataset manually and insert values where they are needed on
    the report.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
  • edited April 2006
    Nico,

    Yes I have tried column but this seemed a problem to me because there
    should be columns in front of detailcolumn and a column behind the
    detailcolumns which do not come from the datapipeline.

    the labels are in the group footer.

    I've tested the report at a client server and this doesn't seem to give
    me any problems. There are 2 things different at the client's server:
    -sql server 2000 (we are developing on sql server 6.5)
    -windows 2003 sbs (we develope on windows 2000)

    i will try some different testmachines tomorrow and will get back with
    the results.

    For testing purposes i have changed my code for clearing the values from
    empty to 'z'. the second time I tried to generate the report the first
    value wasn't blank but contained the 'z'.

    within the plqryMainTraversal event(the datapipeline traversal event) I
    use the following code:

    if dmADOTransis.spDebOmzet['db_num']<>olddbnum then
    begin
    olddbnum:=dmADOTransis.spDebOmzet['db_num'];
    omz1.Caption:='';
    omz2.Caption:='';
    omz3.Caption:='';
    omz4.Caption:='';
    omz5.Caption:='';
    omz6.Caption:='';
    omz7.Caption:='';
    omz8.Caption:='';
    omz9.Caption:='';
    omz10.Caption:='';
    omz11.Caption:='';
    omz12.Caption:='';
    omz13.Caption:='';
    end;

    should this be done differently or in a different place?






    located
    will
    for
    to
    on
  • edited April 2006
    Hi Luc,

    The OnDataPipelineTraversal will only fire each time the pipeline moves to
    the next record, and this is done for each detail band in your report. I'm
    still a bit unsure how your application is producing the correct results at
    all. If you are manually placing data on the group footer band, why not
    directly retrieve the data from the datasource which is also manually
    traversed? If you think it will help, please send a small example
    application I can run on my machine that demonstrates this behavior in .zip
    format to support@digital-metaphors.com and I'll take a look at it for you.

    --
    Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com

    Best Regards,

    Nico Cizik
    Digital Metaphors
    http://www.digital-metaphors.com
This discussion has been closed.