我已经用分组实现了下面的报表:
专业:会计   人数:?
---------------------------------------------
学号|姓名|性别|。
———————————————————————
1   |a   |男  |
————————————————
2   |b   |女  |。
--------------------------------
____|____|____|_________________
____|____|____|_________________
...............................
                          第XX页 共XX页分组对于“会计”或者“法律”的进行分组,对于不同专业的打印在不同的页次上,在这里我有三个问题想请教各位大侠:
1:人数那里怎么统计会计专业的有多少人?
2:对于没有打印满一页的,怎么以空行添满一页?
3:统计会计专业的共有多少页?当前是第几页?法律专业的共有多少页,当前是第几页?

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/1181/1181328.xml?temp=.1361658可以回答问题2,但是FastReport帮助中有这样一句话:不能在子报表中使用分组。不知道该怎么理解,而且我照上面好象没有出来,其他没有使用分组的话,马上就可以出来了!
      

  2.   

    Q1:
    [SUM([ADOQry."productValue"])]
    在分组脚里面,或者分组头里面,对想要汇总的字段进行添加
    会得到sum([db.field]),如上的例子;
    只要分组好了,就会按上面的方法得到汇总数值;
    Q2:
    添加一个子相头,name:=child1,然后在child1.onBeforePrint里写上:
    while freespace > 20 do
          showband(child1)
    end
    Q3:
    还没找到方法,我需要写一个函数
      

  3.   

    在分组相里面写一个函数,根据分组的不同,统计该分组总的记录count
    根据得出的一页最大容纳的记录数,分别得出总的页数和当前的页数
      

  4.   

    在分组的什么地方写呀?是在Delphi里面写,还是在FastReport里的什么地方写呀?
    我怎么知道它们什么时候要开始分组呢?谢谢!
      

  5.   

    还有就是对于您回答的问题:
    1:您提供的答案可能是对于如:字段A里面的数值进行计算,例如有100条记录,字段A里面数值都是100,那么Sum(A)就是:10000,但是我的意图是:Count(A)=100,就是想就算有多少条记录。
    2:在FastRepot里面的demos里面的Report里面有一个例子:PrintEmpty可以讲解,但是我的是在分组的情况下,不知道时候这样处理还有用!
    3:正如我以上所说,我不知道应该在什么地方写!还有我觉的1问题和3问题是一样的,如果哪个解决了,就都能够解决了!多谢指教!
      

  6.   

    以上的4个问题都可以在《FastReport专题》中找到
    http://www.csdn.net/Subject/137/index.shtm强烈建议多琢磨一下fastreport自带的demo和帮助,耐心一点,慢慢的看,提高很多哦