VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 932|回复: 3

请教一个ReportBuilder报表的问题,请高手相助。

[复制链接]

1

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-1-15 20:20:01 | 显示全部楼层 |阅读模式
我想动态生成报表,即不同的User得到的报表内容不一样(可能有的User得到的信息还会更丰富一些),故我的界面上放了如下一些控件:

    //tblItem: TADOTable;
    //dsItem: TDataSource;
    //plItem: TppDBPipeline;
    ppDataDictionary1: TppDataDictionary;
    ppDesigner1: TppDesigner;
    ppReport1: TppReport;

    dbField: TADODataSet;
    dsField: TDataSource;
    plField: TppDBPipeline;

    dbTable: TADODataSet;
    dsTable: TDataSource;
    plTable: TppDBPipeline;

而代码中,我想通过两个TADODataSet控件的CommandText属性,来获得不同的数据库信息,大体如下:
    dbTable.Close;
    strSQL := 'select * from  rb_table where table_name=''VIEW_ReportBasic_Month''';
    dbTable.CommandText := strSQL;
    dbTable.Open;
    dbField.Close;
    strSQL := 'select * from rb_field where table_name = ''VIEW_ReportBasic_Month''';
    dbField.CommandText := strSQL;
    dbField.Open;
    ppDataDictionary1.Open;
  ppDesigner1.ShowModal; //报表设计器显示

但这样,打开了 ppDesigner1,但是不能设计报表,因为除了Design,Review,没有Data页面,不知道如何解决,请高手相助,谢谢!
回复

使用道具 举报

0

主题

4

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-1-23 08:27:02 | 显示全部楼层
问题主要是出在几个单元没有加的原因。在这个例子interface里面,你可以看到。
interface

{ By removing the 'x' which begins each of these compiler directives,
  you can enable different functionality within the end-user reporting
  solution.

  DADE - the data tab where queries can be created by the end-user

  BDE  - BDE support for the Query Tools

  ADO  - ADO support for the Query Tools

  IBExpress - Interbase Express support for the Query Tools

  RAP -  the calc tab, where calculations can be coded at run-time
         (RAP is included with ReportBuilder Enterprise)

  CrossTab - adds the CrossTab component to the component palette in the
             report designer.

  CheckBox - adds a checkbox component to the component palette in the
         report designer.

  TeeChart - adds a teechart component to the report designer component
         palette. You must have TeeChart installed. More information
         is available in ..\RBuilder\TeeChart\ReadMe.doc

  UseDesignPath - determines whether the path used by the Database
         object on this form is replaced in the OnCreate event handler of
         this form with the current path.}

{$DEFINE DADE}            {remove the 'x' to enable DADE}
{$DEFINE BDE}             {remove the 'x' to enable Borland Database Engine (BDE) }
{x$DEFINE ADO}            {remove the 'x' to enable ADO}
{x$DEFINE IBExpress}      {remove the 'x' to enable Interbase Express}
{$DEFINE CrossTab}        {remove the 'x' to enable CrossTab}
{x$DEFINE RAP}            {remove the 'x' to enable RAP}
{x$DEFINE CheckBox}       {remove the 'x' to enable CheckBox}
{x$DEFINE TeeChart}       {remove the 'x' to enable standard TeeChart}
{x$DEFINE UseDesignPath}  {remove the 'x' to use the design-time settings of Database object on this form}

uses

{$IFDEF DADE}
  daIDE,
{$ENDIF}

{$IFDEF BDE}
  daDBBDE,
{$ENDIF}

{$IFDEF ADO}
  daADO,
{$ENDIF}

{$IFDEF IBExpress}
  daIBExpress,
{$ENDIF}

{$IFDEF CrossTab}
  ppCTDsgn,
{$ENDIF}

{$IFDEF RAP}
  raIDE,
{$ENDIF}

{$IFDEF CheckBox}
  myChkBox,
{$ENDIF}

{$IFDEF TeeChart}
  ppChrtUI,
{$ENDIF}

把这几个加上。就可以了。

(注:已经试验通过了,有data 页。如果还是不明白,请在看看例子。)
回复

使用道具 举报

0

主题

18

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-1-24 15:36:01 | 显示全部楼层
同意楼上
回复

使用道具 举报

0

主题

7

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-2-22 13:15:01 | 显示全部楼层
lolonois 正解。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表