使用共享变量实现主报表及子报表之间的数据共享
2012-12-13 12:08
661 查看
应用环境: 水晶报表9.2企业版
在使用水晶报表子报表的时候,可能根据需要在主报表和子报表之间共享部分数据
如子报表需要依据主报表的某些数据进行运算等
因为主报表与子报表之间的数据是独立的,所以不能直接引用对方的字段等资源
有些朋友使用在代码中传递参数等方式来实现, 其实在水晶报表中已经有了问题的解决方法,那就是公式中的共享变量。
大家可能注意到了在水晶报表的公式中定义的变量是有作用域的 ,分别是Dim/本地(Local)/全局(Global)/共享(Shared)
使用水晶报表的共享变量(Shared)即可实现在主/子报表之间的数据共享
基本思路就是使用公式来进行相关对象的过度
帮助文档中是这样解释共享变量的
共享变量使用相同的内存块,在整个主报表及其所有子报表中存储变量值。
因而,共享变量甚至比全局变量更普遍。若要使用共享变量,请在主报表内的公式中声明它,如下所示:
Shared x As Number
x = 1000
并在子报表内的公式中声明它,如下所示:
Shared x as Number
为使用共享变量,在共享变量可以在主报表和子报表之间传递之前,必须先声明该变量并给其赋值。
在下面的例子中,我们以在子报表中获取主报表中的一个数据为目标来进行演示
我们使用水晶报表的自带的数据库来做演示,在主报表中获取一定的数据
然后进行汇总
在子报表中获取这个汇总数据,
以下的公式,使用Basic语法
主报表中的公式如下
公式名称:@fMain1
公式内容:
Shared myTest1 as string
myTest1={产品.颜色} '此处可以替换为任意想获取的数据
formula = myTest1
将该公式应用到主报表的适当位置,如果不需要显示,可以抑制显示
不影响后续数据的获取
子报表中的公式为:
公式名称:@fSub1
公式内容为:
Shared myTest1 as string
formula=myTest1
将公式应用到子报表的适当位置,即可显示出主报表的内容
注意:两个公式中的变量名称与类型需要一致!
请在此处下载视频文件,最近突然觉得视频的好处了
虽然有时候需要重复做好几遍,但是比抓图更能说明白,以后会尽量采取这种方式了
为了减小视频文件的大小,没有使用音频。所以没有声音,不要奇怪。
转自/article/4662165.html
在使用水晶报表子报表的时候,可能根据需要在主报表和子报表之间共享部分数据
如子报表需要依据主报表的某些数据进行运算等
因为主报表与子报表之间的数据是独立的,所以不能直接引用对方的字段等资源
有些朋友使用在代码中传递参数等方式来实现, 其实在水晶报表中已经有了问题的解决方法,那就是公式中的共享变量。
大家可能注意到了在水晶报表的公式中定义的变量是有作用域的 ,分别是Dim/本地(Local)/全局(Global)/共享(Shared)
使用水晶报表的共享变量(Shared)即可实现在主/子报表之间的数据共享
基本思路就是使用公式来进行相关对象的过度
帮助文档中是这样解释共享变量的
共享变量使用相同的内存块,在整个主报表及其所有子报表中存储变量值。
因而,共享变量甚至比全局变量更普遍。若要使用共享变量,请在主报表内的公式中声明它,如下所示:
Shared x As Number
x = 1000
并在子报表内的公式中声明它,如下所示:
Shared x as Number
为使用共享变量,在共享变量可以在主报表和子报表之间传递之前,必须先声明该变量并给其赋值。
在下面的例子中,我们以在子报表中获取主报表中的一个数据为目标来进行演示
我们使用水晶报表的自带的数据库来做演示,在主报表中获取一定的数据
然后进行汇总
在子报表中获取这个汇总数据,
以下的公式,使用Basic语法
主报表中的公式如下
公式名称:@fMain1
公式内容:
Shared myTest1 as string
myTest1={产品.颜色} '此处可以替换为任意想获取的数据
formula = myTest1
将该公式应用到主报表的适当位置,如果不需要显示,可以抑制显示
不影响后续数据的获取
子报表中的公式为:
公式名称:@fSub1
公式内容为:
Shared myTest1 as string
formula=myTest1
将公式应用到子报表的适当位置,即可显示出主报表的内容
注意:两个公式中的变量名称与类型需要一致!
请在此处下载视频文件,最近突然觉得视频的好处了
虽然有时候需要重复做好几遍,但是比抓图更能说明白,以后会尽量采取这种方式了
为了减小视频文件的大小,没有使用音频。所以没有声音,不要奇怪。
转自/article/4662165.html
相关文章推荐
- 【转】使用共享变量实现主报表及子报表之间的数据共享
- Crystal Reports使用共享变量实现主报表及子报表之间的数据共享
- 使用共享变量实现主报表及子报表之间的数据共享
- 使用共享变量实现主报表及子报表之间的数据共享
- 使用共享变量实现主报表及子报表之间的数据共享
- 使用水晶报表的共享变量(Shared)即可实现在主/子报表之间的数据共享
- ubuntu linux主机中使用Virtualbox安装虚拟机,让宿主机和虚拟机之间实现数据共享
- 使用原生redux模块在React组件之间实现数据共享小实例
- 在一个程序中需要用到全局变量(在多个class之间共享数据),请问如何定义具有这种功能的变量?或者是否有其他的方法解决多个class之间的数据共享(尽量简单实现)。 首先应该明确 Java中没有全局变
- ubuntu linux主机中使用Virtualbox安装虚拟机,让宿主机和虚拟机之间实现数据共享
- 0907使用write函数向共享内存中写入数据,实现不同进程间的数据信息传递
- ContentProvider实现程序之间共享数据(如短信、联系人)
- ThreadLocal实现线程范围内模块之间共享数据及线程间数据独立
- 在MFC中使用一个单独的类实现数据在各个类之间的传递
- Android入门篇四:使用全局变量在Activity之间传递数据
- Android使用JNI实现Java与C之间传递数据
- Android开发学习之使用ContentProvider实现数据共享
- Android使用JNI实现Java与C之间传递数据
- [C++应用程序性能优化]类的静态成员变量实现同一个类多个对象之间共享数据
- GLSL-使用Uniform Block实现着色器的数据共享