我现在想在报表里实现一个连续序号的排序,如1,2,3,4,由于数据库里的id是断层的排序,如1,3,8,9,所以不能用id作序号
我估计需要用Adoquery做一个计算字段,可是不知道如何动态创建,产生连续的序号的方法,各位高手怎么写这段代码,告诉一下好不

解决方案 »

  1.   

    直接加就是了
     for i := 0 adoquery1.recordcount-1 do
     begin
       num := i+1; //输出这个num到报表即可
     end; i := 0;
     while not adoquery1.eof do
     begin
       i:i+1;
       //输出这个i到报表即可
       adoquery1.next;
     end;
      

  2.   

    序号排列我搞定了,直接加一个QRSysData1,类型改成qrsDetailNo,
    可是还有一个问题,如果我记录不满,我该怎么打印,比如我一共15条记录,第一页我只需要打印10条记录,第二页只能有5条记录,其他空白处怎么办我也需要弄满了,不然两张纸一个全满了,一个空一半不好看
      

  3.   

    用Adoquery.RecNo,或者自己维护一个累加变量
      

  4.   

    不知你用的是什么报表软件?
    实在不行就用笨方法,就判断adoquery1.recordcount  是否是整页,不是就插入N条空记录,用完再删除了!