水晶报表 分页 的问题

时间:2022-11-08 05:53:30 

水晶报表分页汇总
建三个公式字段,第一个(公式1)输入下面的公式:
whileprintingrecords;
global numbervar ptotal;
ptotal:=0;
第二个(公式2)输入下面的公式:
whileprintingrecords;
global numbervar ptotal;
ptotal := ptotal + [要汇总的字段];
如果要汇总的字段不是数字,就用tonumber()函数转换;
第三个(公式3)输入下面的公式:
whileprintingrecords;
global numbervar ptotal;
把公式1放在页眉,公式2放在详细资料,并隐藏公式1和公式2;把公式3放在页脚,格式公式3,设置为你要显示的格式。这样就行了。

水晶报表分页并自动插入空白行
在论坛上经常会看到水晶报表分页的问题,这个很好解决。
但是自动插入空白行的问题却一直没有很好的答案,
经过研究找到一个变通的办法来实现了。
'分页
在详细资料上点格式化节,在后面页新建页打勾
公式中输入:
if onlastrecord then
FORMULA = FALSE
else
if RecordNumber mod 5 =0 then
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 语法)
---------------------------------------------------------------------
最后页不足,用空行填充:
新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 1) then '第一个,1
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 语法)
...接着第二个[ 新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾 ]:
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 2) then '第二个,2
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...接着第三个[ 新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾 ]:
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 3) then '第三个,3
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
在论坛上经常会看到水晶报表分页的问题,这个很好解决。
但是自动插入空白行的问题却一直没有很好的答案,
经过研究找到一个变通的办法来实现了。
'分页
在详细资料上点格式化节,在后面页新建页打勾
公式中输入:
if onlastrecord then
FORMULA = FALSE
else
if RecordNumber mod 5 =0 then
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 语法)
---------------------------------------------------------------------
最后页不足,用空行填充:
新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 1) then '第一个,1
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
'(BASIC 语法)
...接着第二个[ 新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾 ]:
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 2) then '第二个,2
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...接着第三个[ 新增一个空白详细资料行,格式化此节,在抑制显示(无深化)打勾 ]:
公式中输入:
if not onlastrecord then
FORMULA = TRUE
else
if (RecordNumber mod 5 <= 3) then '第三个,3
FORMULA = TRUE
else
FORMULA = FALSE
end if
end if
...(同理第四个,即最后5-1个)
(注:此方法适用于行数较少,上面是为5行为例,不过不觉得麻烦,对行数较多也可以用)...(同理第四个,即最后5-1个)

标签:水晶报表,分页
0
投稿

猜你喜欢

  • 详解使用CUDA+OpenCV加速yolo v4性能

    2022-08-11 03:00:39
  • Python提高运行速度工具之Pandarallel的使用教程

    2021-07-16 20:14:09
  • Python Flask-Login实现用户会话管理

    2023-06-05 13:13:50
  • 对Python中小整数对象池和大整数对象池的使用详解

    2023-02-17 18:13:49
  • php根据isbn书号查询amazon网站上的图书信息的示例

    2023-11-15 03:08:53
  • python求最大值,不使用内置函数的实现方法

    2021-02-06 09:13:12
  • SQLServer2019 数据库环境搭建与使用的实现

    2024-01-16 12:45:48
  • 使用Pycharm分段执行代码

    2021-09-04 13:24:14
  • python连接池实现示例程序

    2022-04-30 21:59:54
  • MySQL timestamp自动更新时间分享

    2024-01-22 11:48:21
  • js判断传入时间和当前时间大小实例(超简单)

    2024-05-02 17:26:40
  • 有关Python的22个编程技巧

    2021-04-05 22:58:05
  • python自动登录12306并自动点击验证码完成登录的实现源代码

    2021-07-08 12:50:29
  • PyTorch上搭建简单神经网络实现回归和分类的示例

    2022-08-02 04:49:42
  • JSONObject.toString

    2008-03-09 19:12:00
  • python使用tcp传输图片数据

    2023-08-09 06:33:48
  • 浅析javascript操作 cookie对象

    2024-04-18 10:49:23
  • JavaScript封装弹框插件的方法

    2024-04-30 10:20:32
  • Python 数据结构之堆栈实例代码

    2023-10-30 07:27:43
  • Vue3响应式对象是如何实现的(2)

    2024-05-09 15:10:01
  • asp之家 网络编程 m.aspxhome.com