这阵子要在系统里加一个报表功能,
研究了一下水晶报表,看了些之前的贴子,
但是有些地方还是搞不明白;(1)比如我数据库里边有10个结构都不相同的数据表,而且都需要制作成报表,
是不是都需要在水晶报表里边制作10个不同结构的.rpt文件?(2)我看了一些动态显示数据的代码,里边也都有一句类似这样的代码:
Set rpt = rptApp.OpenReport(App.Path & "\a.rpt");
那么这个a.rpt的格式需要提前设定好吗?就是说他的格式必须和vb传过去的数据集合的字段名称、数目都一样吗?(3)我觉得把Grid或者数据库里的数据导到Excel里边,然后再浏览,打印,就不需要提前设计好相应的*.rpt文件,那么除了这个方法显得系统集成度不很高而且需要excel支持之外,其他的根水晶报表实现的功能有什么大的差别?谢谢大家~~~给点思路阿~~~

解决方案 »

  1.   

    1、报表与数据表没有直接关系,报表数量的多少只看你的工作需要,而不是每个数据表都设置一个rpt;
    2、这个语句是打开已经设定好的报表文件rpt,然后只传递数据就行了;
    3、正如你所说的,你这种方式需要Excel支持,这就在分发程序时,可能存在版权问题。水晶报表的功能多得很,比如说它还以把报表汇出至其它格式如pdf文件等。
      

  2.   

    To leayh(云卷云舒):
    1、报表与数据表没有直接关系,报表数量的多少只看你的工作需要,而不是每个数据表都设置一个rpt;如果数据库内有10个数据表(结构不同)需要实现报表打印、预览,是不是就要预先设计好相应的10个.rpt文件?
      

  3.   

    1.一般是一張報表做一個rpt文件﹐如果你的10個數據表只集成在一張報表上就只要一個rpt文件﹐否則就得每張報表做一個
    3.數據導到excel中又得調整結構﹐如果你的報表又要分頁及統計總數等一些計算時﹐水晶報表提供最方便的操作﹐而在excel只能由用戶自己去調﹐還容易出錯﹐水晶報表是專業的報表軟件﹐你應該多去找點資料多了解一下水晶報表就知道它的作業了。
      

  4.   

    都说了,需不需要10个rpt就看你的报表结构了。难道你的10个表之间没有一点关联吗?如果确实是这样,那你要多少种报表,原则上就需要设置多少个rpt文件。
      

  5.   

    确实是10张数据表之间没有太大的联系,逻辑联系是有的,但是表结构差很多;
    而且生成的其中3个报表需要通过10张数据表的数据计算得到;基本明白了是怎么回事儿了
    要得比较紧,我先用Excel实现了所有要求,
    不过接下来准备好好看看水晶报表的东西,
    谢谢大家~~~
      

  6.   

    确实是10张数据表之间没有太大的联系,逻辑联系是有的,但是表结构差很多;
    而且生成的其中3个报表需要通过10张数据表的数据计算得到;基本明白了是怎么回事儿了
    要得比较紧,我先用Excel实现了所有要求,
    不过接下来准备好好看看水晶报表的东西,
    谢了~~~