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

Evaluation questions

edited March 2004 in End User
Hello,

I am currently evaluating RB and want to provide my customers with the
ability to change reports themselves. So i have build the end-user reporting
app from the examples and run it on a interbase database. So far so good. I
have three questions:

1-There is a data tab but i see no tables appearing. Is this because it is a
demo version or should i provide more things in the app.
2-how do i call a report from my Delphi 7 app ? I see no example of it.
3-I am thinking of taking RB or FastReport as new report engine. Would
anybody care to comment to this?

TIA,

Jerri

Comments

  • edited March 2004

    Thanks for your interest in ReportBuilder.

    1. There are examples that use Interbase located in RBuilder\Demos\EndUser
    Databases\Interbase. There is a SQL script that you should use to create the
    supporting table for Interbase. There is a ReadMe.doc included with each
    example.

    When you run the application, the report explorer should appear. You can
    access the report designer by creating a new report. From the Data tab of
    the report designer you can select File | New and then select either the
    QueryDesigner or QueryWizard. A list of the available tables in the database
    should appear.

    Make sure that the Designer.DataSettings properties are configured properly.
    Set the DataSettings.DatabaseName to reference the database connection
    object on the form. Set Use DataDictionary to False.

    2. To call a report that is stored via the report explorer - see the article
    the following article which is reposted here from the Templates thread of
    the Tech Tips newsgroup:


    ---------------------------------------------------------------
    Tech Tip: How to Programmatically Load Reports that were Saved
    using the Report Explorer
    ---------------------------------------------------------------

    1. The ReportExplorer has a run-time interface you can use to load reports
    using the ReportExplorer.LoadReport method. You can use this method without
    actually 'showing' the report explorer form. (See the online help topic for
    TppReportExplorer.)

    2. If you want use Report.Template.LoadFromDatabase, RB will locate the
    report stored in the database table based upon the NameField value only.
    However, for the rb_item table you need Folder_Id, Name to locate a record
    uniquely.

    To override this default behavior, assign an event-handler to the
    Report.Template.OnLocateRecord event.

    example:

    TmyForm = class(TForm)
    private
    function ReportLocateRecordEvent(Sender: TObject; const aReportName:
    String): Boolean;

    end;

    procedure TmyForm.FormCreate(Sender, TObject);
    begin
    {assign the event handler}
    FReport.Template.OnLocateRecord := ReportLocateRecordEvent;

    end;


    function TmyForm.ReportLocateRecordEvent(Sender: TObject; const aReportName:
    String): Boolean;
    begin
    {add logic here to locate the record and return True if it is found}

    Result := myLocateReportFunction(FFolderid, aReportname);

    end;


    3. ReportBuilder is the only Delphi product to have been voted Delphi
    Informant Readers Choice - Product of the Year - for 4 years in a row. The
    ReportBuilder newsgroups are good barometer for the activity level of the
    product and the support that is provided.



    --
    Nard Moseley
    Digital Metaphors Corporation
    http://www.digital-metaphors.com

    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.