Problem emerges in D3 to D5 migration
This is going to be difficult to explain in words, so please bear with me.
I will refer to the working example as first module and the broken example
as second module throughout.
I have two data modules (I am aware of the potential issues) that have
reports and pipelines on them. They were created in Delphi 3 with RBuilder
4. They are very similar in configuration. I have now moved them to Delphi
5, RBuilder 6.02.
Each module has two data pipelines, one is set as a detail to the master.
These pipelines are tied into multiple reports. Only one of these reports
will be run at any given time. In both modules, the reports are tied to the
master pipeline. They have groupings, the outer one tied to a data field in
the master, the next group is tied to a data field in the detail.
Now, here's where they digress and where I am confused. One of the two
modules has maintained a connection to the detail grouping field. The other
module does not show the detail fields in the group list as available, but
does show the detail fields in the data tree and as available for use in the
report itself.
If I use Report/Data, in the first module there is displayed a data pipeline
and a detail pipeline. In the second module, only the data pipeline
displays.
Note that this behavior is consistent with every report on both modules, iow
in the first module, the detail pipeline is available for use in groups
across all the reports; in the second module the detail pipeline is
unavailable for use in groups across all the reports.
I have gone over the properties of the two pipelines and reports, and can
find no differences beyond their names. In both cases, they are tied to two
RxMemoryData tables as the source of the pipelines.
I've got to be missing something trivial here, but I have no clue as to
what.
Under what circumstances will a report show the detail fields as available
for grouping, and under what circumstances will it not?
If you need any further information, please let me know.
John Elrick
I will refer to the working example as first module and the broken example
as second module throughout.
I have two data modules (I am aware of the potential issues) that have
reports and pipelines on them. They were created in Delphi 3 with RBuilder
4. They are very similar in configuration. I have now moved them to Delphi
5, RBuilder 6.02.
Each module has two data pipelines, one is set as a detail to the master.
These pipelines are tied into multiple reports. Only one of these reports
will be run at any given time. In both modules, the reports are tied to the
master pipeline. They have groupings, the outer one tied to a data field in
the master, the next group is tied to a data field in the detail.
Now, here's where they digress and where I am confused. One of the two
modules has maintained a connection to the detail grouping field. The other
module does not show the detail fields in the group list as available, but
does show the detail fields in the data tree and as available for use in the
report itself.
If I use Report/Data, in the first module there is displayed a data pipeline
and a detail pipeline. In the second module, only the data pipeline
displays.
Note that this behavior is consistent with every report on both modules, iow
in the first module, the detail pipeline is available for use in groups
across all the reports; in the second module the detail pipeline is
unavailable for use in groups across all the reports.
I have gone over the properties of the two pipelines and reports, and can
find no differences beyond their names. In both cases, they are tied to two
RxMemoryData tables as the source of the pipelines.
I've got to be missing something trivial here, but I have no clue as to
what.
Under what circumstances will a report show the detail fields as available
for grouping, and under what circumstances will it not?
If you need any further information, please let me know.
John Elrick
This discussion has been closed.
Comments
underlying dataset isn't open.
Double click on the data pipeline on the form- are there fields in the
datapipeline? If not, then try toggling the AutoCreateFields property of
the datapipeline. If the fields still don't exist on the datapipeline, then
delete the datapipeline and recreate it.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com
I believe that's the reason that I can't use the non-master pipeline as a
Group, but can in Delphi 3
FWIW, only the existing reports that are show Groups will show groups at
all. I can't get a new Report to show grouping except for the
Report.Pipeline.
Is there a workaround? I may try setting the values at runtime.
John Elrick
datapipeline that the report is connected to. This is intentional.
All you need to do is move the inner detail group of you rmaster report,
into a subreport in the master report's detail band. Place the subreport in
the detail band of the main report and connect the detail datapipeline to
it. Check out your installed RBuilder master-detail demos in the main demo
reports directory, for an example of this configuration.
Don't set the detail band's datapipeline property. We moved away from using
the detailband datapipeline. Now, subreports and their datapipeline are
used to display detail records for master-detail reports. The master
datapipeline is connected to the master report, and the master records are
generated in detail bands for that report. The subreport in the detailband
of the main report is connected a detail datapipeline. Now, the subreport
will create a detail band for every record in its detail dataset, as the
master records are traversed.
Cheers,
Jim Bennett
Digital Metaphors
http://www.digital-metaphors.com
info@digital-metaphors.com