本人第一次作activeReport,就碰到这么难的帐票。不知道有没有好的办法,求高手帮忙。
帐票如下。
数据库为sqlServer,用vb做,其中三个字段是动态的,可能是多个表里的。最少选一个,金额也一样。字段一,二,三,是分组字段,而金额为统计求和字段。比如下面的情况。
字段一    字段二    字段三   金额一    金额二    金额三
类别一    年月一    企业一   10        20        10
类别一    年月一    企业二   10        20        20
类别一    年月二    企业一   10        30        10
类别一    年月二    企业二   10        30        20
类别二    年月一
类别二    年月一
类别二    年月一
类别二    年月二
类别二    年月二
需要的最终结果有可能要这样的。
字段一                       金额一    金额二    金额三
类别一                       10        50        30
类别二                       
说也说不清楚,反正很复杂,什么都是动态的。假如统计的字段,联合了多个表,就会出现重复数据,所以求和的金额就不对了。就像上面的金额,假如我直接用sql求和,金额二,金额三就变成100和60了。不知道高手有没有什么好方法,求和操作是在vb里做,还是在activeReport里做。vb里假如有dataSet也许会方便一点。

解决方案 »

  1.   

    activeReport沒有用過
    幫你頂
      

  2.   

    FlexCell没用过。现在只能用activeReport。不能改用其它报表。
      

  3.   

    你说的也不清楚啊,还是偶没明白,怎么帮你,
    求和还是放在报表里吧,放在分组里面(GroupFooter里)
      

  4.   

    我这里是不经报表的分组要求和,没条明细本身就是求和。这些都不是问题,最重要的是,字段都是动态的,所以在检索明细的时候不能直接用sum,因为多表查询时,而且分组的字段不是同个表,会出现重复数据,这个sum的结果就错了。比如。a的字段,aa,ab,aa为主键,b的字段ba,bb,bc。ba,bb为主键。现在我用select sum(ab),sum(bc)from a,b where a。aa=b。ba group by a。?,b.?。这样的话sum(ab)就会重复。现在说清楚了吗?不知道这种情况能用activeReport处理吗?我看现在的方法只能不求和,先查出所有明细,然后现在的问题就是,要实现,把多条明细求和,在显示到报表上。数据源是明细,报表要多条明细求和后,再显示为一条明细,而且也用分组,也要分组求和。
    不知道大家有没有这方面的经验,有没有好的方法或者方案?
    其实我已经解决了,我先查出明细,然后自己分组求和,保存到数组,最后把数组作为数据源,绑定到activeReport。