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

DataPipeline - RecordPostionChange-event

edited November 2002 in Datapipelines
Hi,

I'm using ReportBuilder with TurboPower's FlashFiler 2.10. For collecting
the right data I use a TffQuery-component to get some amounts, a type of
instance and that instance's id. This query is hooked to a DataPipeLine.
So far so good.

In the RecordPositionChange-event the following happens: according to the
type of instance another query is ran in order to obtain that instance's
name and address (so, in the instance-type is A, it runs query 1 - if the
instance-type is B, it runs query 2, ...).

When I, for example, have one instance for type A and two for type B, the
report won't print the instance of type A.
If there are two instances ot type A (and still two of type B), the report
prints all the instances.

Does anyone have a clue what's going on?



Many thanks

Gerd

Comments

  • edited November 2002
    Hook the queries up to DBGrids on a form and see what data is being passed
    back at runtim when you traverse the records manually without RB involved?
    You should be able to print a report by refiring a paramterized detail query
    when the master record position changes. This may be slow, but it should
    work.

    The other approach you can take is to retrieve all of the detail records for
    all masters. Order the detail dataset by the master so that the detail
    dataset can be traversed by the master key value and the master ORDER BY
    clause. Here is an example. You'll have to use the datapipeline's
    MasterDatapipeline and Master Field Links properties in order to tell the
    report engine that you have built the detail dataset correctly and that the
    engine should work this way. Otherwise, if you use parameterized queries,
    you should not set these two properties on the datapipeline.

    http://www.digital-metaphors.com/tips/MagicMasterDetail.zip


    Cheers,

    Jim Bennett
    Digital Metaphors

This discussion has been closed.