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

nardmoseley

About

Username
nardmoseley
Joined
Visits
8,058
Last Active
Roles
Administrator

Comments


  • You will need to create a new function, no other way around it.

    In the Windows API Microsoft often does this by creating a function with the
    same name plus a suffix such as Ex on the end. For example: myFunction and
    myFunc…

  • RAP demo 36 inthe RBuilder\Demos\RAP\Main project contains one example of
    storing information in a TStringList and then printing it out in a summary
    band.

    Other options might be to use a JITPipeline or perhaps an in memory…

  • I do not think you can do this via RAP because the events in RAP occur too
    late, after the report engine has already opened and initialized the
    datasets.

    I recommend that you write a utility program to load each report fro…

  • Yes, RAP automatically knows about published properties of registered
    classes. RAP relies upon custom RAP RTTI classes plus Delphi's RTTI.

    You can actually use a RAP RTTI class to hide the Delphi RTTI. The RAP RTTI
    methods…

  • To define new Classes to RAP requires that you extend RAP's RTTI (see number
    2 below).


    --------------------------------------------------
    Article: Extending RAP
    -------------------------------------------------…

  • You can define ask at runtime crieria by using ReportBuilder AutoSearch
    parameter feature. (see article below).

    To print the AutoSearch parameter values in the heading of the report, use
    the Report.AutoSearchDescription pr…

  • I re-read your original post and think I understand a little better. You
    have a matrix that might typically consist of 500 CostId rows and 50
    Cost-Location columns. Something like this:

    CostId1 Cost1-Loc1..........…

  • The following is an example of a spreadsheet style report that may help
    you...

    www.digital-metaphors.com/tips/SpreadsheetStyle.zip

    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digital-metaphors.c…

  • When I run the example, the Report.OnGetAutoSearch values fires and the
    SQLText is modified so that a new Where clause is added to reflect the
    AutoSearchField value.

    Note that this example is compiled with RAP linked into …

  • Okay, I responded to your post above, I did not see this one till now...

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

  • Below is a link to an example that demonstrates manually specifying the SQL
    Text and supporting AutoSearch. This example is implemented in Delphi code.
    To implement in RAP code would require pass that you define one or more
    pass…

  • Some options:

    1. Create RAP pass-through functions that return Global values.

    2. Use a JITPipeline with each field in the JITPipeline representing a
    Global constant. Then you culd access these in RAP code or connect …

  • 1. I do not understand what you mean by "ADO connection stuff". If you are
    using ADOSession, then the Designer.DataSetttings.DatabaseName can be used
    to refer to an ADOConnection object that specifies the connection string for
    t…

  • For standard Master/Detail using DADE, you can visually link the detail
    queries to the master in the data workspace. The master query Where clause
    can include one or more AutoSearch parameters.

    ReportBuilder automatically …

  • A crosstab is useful if you have some data to summarize into various row and
    column dimensions.

    Note sure whether that is what you need here. As a test, try creating the
    crosstab using the crosstab designer. You can always…

  • Congrats. :)

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

  • The LeftToRight column traversal feature is very limited. Since the band
    must be static height, you would have to use a subreport set to pbFixed and
    size the width and height of the subreport to act as fixed size boundary.


  • Place the subreport in the detail band of the report that is connected Y.
    The subreport will generate once for each record in Y. Connect the
    subreport.DataPipeline to Z and it will generate one detail band for each
    record in Z (…

  • I assume that the data is linked in a master/detail relationship.

    You could try using a subreport to traverse Z and list the records for Z
    that are related to each Y.



    --
    Nard Moseley
    Digital Me…

  • If myPipeline.Bof and myPipeline.Eof then
    {there is no data}


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

  • Your GetSignature method needs a ; on the end of the signature string, like
    this

    'function ListName: String;';

    rather than

    'function ListName: String';





    --
    Nar…

  • Everthing in my prior response can be done in RAP code. :)


    --
    Nard Moseley
    Digital Metaphors Co…

  • How would you do this in Delphi code? That should always be the first
    question.

    You can use either a TppVariable and its OnCalc event (or you could use a
    TppLable and in the OnPrint set the Caption).

    example: Tp…

  • Try creating a custom autosearch dialog that handles this requirement. For
    an example, see RBuilder\Demos\AutoSearch\Custom AutoSearch dialog.



    --
    Nard Moseley
    Digital Metaphors Corporation
    www.digita…

  • I can think of 2 techniques for implementing a solution:

    1. Create a summary SQL query that calculates the Min, Max for each GroupId.
    Link the summary to the detail. Then you do not need the DBCalc's with
    LookAhead, you ca…

  • You are encountering a timing issue. Most of the events in RAP occur after
    the report engine has already open the datapipelines and initialized them.
    The only events that occur prior to initializing the data are the AutoSearch
    r…

  • The CreateAutoSearchCriteria method will not work for this case.

    An alternative is to extract the TdaSQL object from the DataView and add the
    search criteria directly to the TdaSQL. Below are a couple of examples. The
    exam…

  • Are you using the same TppReport component to load/save to database and
    import/export from file?

    Does the error occur with every report, some reports, or only one specific
    report?



    --
    Nard Mosel…

  • You need to create a RAP pass-through function that can be registered with
    the Code Toolbox. Please see the following article...

    --------------------------------------------------
    Article: Extending RAP
    -------------…
    in Duration Comment by nardmoseley May 2004

  • There is no way to call a RAP function from Delphi code. Perhaps when you
    write the RAP pass-thru function, it can call a custom Delphi function. That
    way both Delph code and RAP code can call the function. In your example, you