博计报表 参数报表实现默认查询的两种方法

参数报表功能比较强大,可以根据自己的需求把需要的数据查询出来,但是仍旧难以满足越来越复杂的业务需要,比如要实现默认条件的查询。本文介绍两种实现默认查询的方法。

第一种方法:给参数报表中参数设置默认值

大致思路:给参数报表中的参数设置默认值,报表在计算的时候就会以这个参数的默认值为条件进行查询。

以任意带参数的报表为例在参数报表中设置默认值,如下图给参数”area”设置默认值为”华北”。

1.png

浏览报表的时候就会查询出货主地区为华北的数据。

第二种方法:利用动态宏设置默认查询条件

大致思路: 给参数模板定义一个是否查询的标志,在参数报表里用动态宏根据查询标志的值进行判断,然后在数据集中调用动态宏,如果是点击”查询”按钮进行查询的,动态宏就给数据集返回空;如果是点击”查询”按钮进行查询的,动态宏就返回数据集默认查询的条件。这种方法常用于默认不查询任何数据,就是动态宏返回给数据集”and 1=2″。

第一步:制作参数报表

新建一个空白报表,另存为”参数查询.raq”,新建一个参数,命名为”area”,用于接收参数模板中传递过来的货主地区。新建一个数据集,sql语句为:

SELECT 订单.订单ID,订单.货主国家,订单.货主地区,订单.货主地址 FROM 订单 WHERE 订单.货主地区 =? or ? is null

给数据集增加两个参数”area”。单元格中输入的内容如下:

2.png

新建一个空白报表,另存为”参数查询_arg.raq”,把报表设置为填报表,A1单元格输入的内容:”请选择货主地区:”。给B1单元格设置下拉列表框,如下图。

3.png

选中B1单元格,设置变量名为”area”。

4.png

第二步:判断参数模板中是否选择了条件并点击”查询”

在设计器中打开”参数查询_arg.raq”,给报表追加一列C列,选中C1单元格,设置它的变量名为”selectFlag”,如下图。

5.png

设置C1单元格的值为”1″。

然后把C列的宽度设置为1,把C列隐藏起来,注意这里不是设置列的可视属性。

第三步:设置动态宏

在设计器中打开报表”参数查询.raq”,增加一个参数”selectFlag”,

6.png

增加动态宏”ifSelect”,如下图。

7.png

动态宏的意思是如果用户点击了”查询”按钮,就返回空;没有点击”查询”按钮,就返回默认查询条件:”1=2″,意思就是不查询任何数据。然后在数据中调用这个宏。

8.png

第四步:浏览报表

在IE中浏览报表”参数查询.raq”,可以看出没有查出任何数据。

从上面的两种方法可以看出,第一种方法比较适合参数设置默认条件,第二种方法比较适合默认不查出任何数据。以后遇到类似的需求就可以用上面的方法实现了。

浏览次数:0 ; 发布日期:2010/04/16

热门文章

  • 申请试用授权 - 49,853 views
  • 使用入门教程简介 - 30,987 views
  • .NET报表产品概况 - 27,730 views
  • 联系我们 - 13,867 views
  • 技术支持 - 10,185 views
  • 高效报表设计 - 9,033 views
  • Web报表工具的新起点 - 7,563 views
  • 复杂报表的制作 - 7,033 views
  • Web报表软件的采购成本 - 6,530 views
  • Web报表软件的集成方案 - 5,075 views