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

ReportBuilder and Apollo 7

edited March 2012 in General
I'll be inquiring at VistaSoftware also, but is anyone using the current
versions of Apollo VCL and Report Builder together?

I'm finding it impossible to filter a Apollo dataset and have Report
Builder use the filtered data at report time. To the best of my knowledge
the Apollo components are direct descendants of Delphi's TDataSet?and
TDataSource so I guessed that Report Builder might be (mostly) compatible.

Other uses of the two products together seem to work for the most part.
Filtering is the only glaring problem that I've run across so far.

Any comments, thoughts, suggestions?

Thanks very much.




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

Comments

  • edited March 2012
    On 3/5/2012 3:14 PM, Al wrote:


    Just as a matter of interest, I played around briefly with FastReport,
    and discovered that it has no problem at all with Apollo's data access
    components including their different filtering methods. I'm wondering
    now if I've overlooked some property or other in my RB reports that
    might be causing the problem. I could provide an example program
    (executable) and small data file that demos the problem if it would help.

    TIA, again, for any assistance.
  • edited March 2012
    ReportBuilder is designed to work with TDataSet descendants. ReportBuilder
    uses TDataSet methods to traverse the dataset: First, Next, Prior, Last,
    GetBookmark, GotoBookmark, Bof, Eof.

    The TDataSet defines properties for Filter and Filtered. In my testing here
    with a TTable it is working correctly. I connected a TTable to the DBDemos
    Customer table. I defined a DataSet.Filter, Addr2 = ''. I first connected
    the DataSet to a DBGrid and tested setting Filtered to True and to False to
    confirm the filter was working correctly. I then built a report connected to
    the same DataSet and tested with Filtered set to True and set to False. Each
    tested produced the expected result.





    -
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited March 2012
    On 3/6/2012 4:08 PM, Nard Moseley (Digital Metaphors) wrote:

    Thanks very much for the reply. I guess it's just a matter of different
    levels of compatibility with databases other than the BDE. As I
    mentioned in my second post, my test program worked as expected with
    FastReport and Apollo, but not ReportBuilder. The test program, of
    course, uses a ApolloTable component as opposed to the standard TTable.
    One possible difference is that FastReport uses a TfrxDBDataset for its
    connection to the Apollo table, whereas ReportBuilder uses its
    TppDBPipeline. Again, I'd have to guess that those components could be
    where slightly different coding makes a difference for Apollo. It is
    curious, however, that both products offer TDataSet compatibility but
    only one seems to work. If I had the level of expertise required, I'd
    step through the code to see if I could find anything. Alas, working in
    the innards of component code is way out of my box. I suppose I could
    filter the data, write it to a temp table and let ReportBuilder work
    with that table. Just seems like a lot of extra work; as does switching
    to a different database.

    Sorry if this sounded like an ad for another reporting product. It
    wasn't my intent. ReportBuilder is the only thing I've used since Delphi
    7 and it's never failed me. I've always expected it to work where others
    wouldn't...

    Let me know if my sample project might be able to reveal anything. I'll
    be glad to send it.

    Thanks again.
  • edited March 2012

    I downloaded an Apollo trial. I performed a similar test with the
    ApolloTable. I was able to use the Filter, Filtered properties successfully
    with ReportBuilder.

    I placed ApolloDatabase and ApolloTable components on a form and configured
    to use the Animals.dbf in the DBDemos folder (Program Files\Common Files\
    etc). I defined a Filter, Weight > 10, and connected a DBGrid. When I set
    Filtered to True, the data is filtered in the grid. I next connected a
    Report and created a report layout, when I set Filtered to True the data in
    the report is filtered.

    I also tried a filtering a couple of other fields. I filtered RISK = 'HIGH'
    and that worked. I also tried filtering EXCHANGE = 'NYSE' and that did not
    work with DBGrid, so I tried the same with a TTable and that did not work
    with DBGrid either. I did not investigate further.

    If you would like to create a simple test project and send in zip format to
    support@ I can try researching it here.


    -
    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited March 2012
    On 3/7/2012 6:38 PM, Nard Moseley (Digital Metaphors) wrote:


    Thanks very much for taking the time to do all the experimentation. I'll
    put together my test project and forward it to you. Like you, I found
    that any data grid component (Delphi's DBGrid or a any third party one
    that I've tried) respects the filter condition. So far, though, I can't
    get ReportBuilder to do the same. This is why I'm afraid that it's my
    lack of knowledge that's causing the problem. Hopefully you'll be able
    to spot my error and get me back on the right track. I'll try to get the
    test project to you sometime tomorrow.

    Again, many thanks!
This discussion has been closed.