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

end user solution

edited September 2005 in RAP
We want to use report builder for giving the users facility of report
creation at run-time.
We are using RB 7.0 presently and facing following limitations:
1. Editing of exisitng reports: If the user wants to edit a report and
the report has an attached parameter form then how can that parameter
form be associated with the edited report? The report uses data from a
parameterised query and query parameters are determined by the selections
in parameter form (like date range of report, etc.) Also ParamByname,
FieldByName on query do not work in Report builder(ver 7.0)
2. Creating new reports: If user creates new reports using data
dictionary then how can he select the queyr parameters at run time, again
like date range



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

Comments

  • edited September 2005

    The ReportBuilder AutoSearch feature is designed to handle parameterized
    queries that display an ask-at-runtime

    1. Use the Query tools provided by the Data workspace to create query
    dataviews. Use the Search tab of the Query Designer to add search criteria.
    Select the AutoSearch checkbox if you would like the search criteria to be
    parameterized. Please see the Tech Tip article bleow for more information.

    2. ReportBuilder will create an ask at run time dialog that enables the user
    to enter the search value. ReportBuilder will automatically generate the
    required SQL.

    3. When the end-user creates a report, they can use the Query tools as
    describe in number one above.

    4. If you want to customize the autosearch dialog that is created by
    ReportBuilder, please see the RBuilder\Demos\AutoSearch\Custom AutoSearch
    Dialog example. That example shows how to create custom autosearch panels.


    ----------------------------------------------------
    Tech Tips: Creating AutoSearch parameters via DADE
    ----------------------------------------------------


    1. Access the Data workspace of the Report Designer.

    2. Create a DataView using the Query Wizard or Query Designer.

    2. A DataView tool window will be displayed in the data workspace.

    3. Press the Search button. The Search tab of the Query Designer will be
    displayed.

    4. Add a search criteria item and select the AutoSearch checkbox. You can
    optionally select Mandatory as desired.

    5. Close the query designer.

    6. Now when you select the Preview tab of the Report Designer. A search
    button will appear on the toolbar. This displays the AutoSearch dialog.

    7. By calling Report.Print in code, or by selecting print/preview from the
    report explorer the AutoSearch dialog will be automatically be displayed.







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



    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
  • edited September 2005
    thanks for your solution.But it is not working in my application because
    i have made a pipelined function in oracle and the query is based on it.
    I have written a code on Oncustomopen event of designer to identify the
    pipeline and accordingly open the delphi form but this is also not
    working because every time it identify the pipelined assigned at design
    time .The code is

    procedure TfrmLocation.ppDesigner1CustomOpenDoc(Sender: TObject);
    var
    result:string;
    begin
    if ppReport1.DataPipeline=ppBDEParno then
    begin
    ppReport1.Template.Load;
    frmLocation.Show;
    end
    else
    begin
    frmLocation.Hide;
    ppDesigner1.Report:=TppReport.Create(Self);
    ppDesigner1.Show;
    end;
    end;

    I tried one more approach.I have written code in RB7 on the event of
    ReportBeforeprint of report but it is not working
    procedure Reportbeforeprint
    var
    qurParno:Tquery;
    begin
    qurParno.Create(qurParno);
    BDEParno['LOC_NAME']:=lblLocName.Text;
    BDEParno['SURVEYDATE']:=StrToDate(lblSdate.Text);
    BDEParno['SURVEYDATE']:=StrToDate(lblEdate.Text);
    qurParno.sql.clear;
    qurParno.SQL.Add('select * from table(fillpariptable('+'#39'+BDEParno
    ['LOC_NAME']+'#39'+','+'#39'+FormatDateTime('dd-MM-yyyy', BDEParno
    ['SURVEYDATE'])+'#39'+','+'#39'+FormatDateTime('dd-MM-yyyy', BDEParno
    ['SURVEYDATE'])+'#39''))');
    qurParno.active:=true;
    end;

    Can you please suggest me how can i get the needful and where i am going
    wrong.
    Thanks



    --- posted by geoForum on http://delphi.newswhat.com
This discussion has been closed.