参数报表实现默认查询的两种方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
参数报表实现默认查询的两种⽅法
参数报表功能⽐较强⼤,可以根据⾃⼰的需求把需要的数据查询出来,既然⽤到了查询就少不了需要根据默认条件来查询。
因为很多时候我们需要不输⼊条件就可以看到报表。
本⽂就来介绍两种实现默认查询的⽅法。
第⼀种⽅法:参数编辑框”值表达式”中设置默认值
此⽅法常⽤于以某个固定值默认查询
这个⽅法很简单,直接在报表参数编辑⾥设置就可以了。
以任意带参数的报表为例在参数报表中设置默认值,如下图给参数”area”设置默认值为”华北”
浏览报表的时候就会查询出货主地区为华北的数据。
第⼆种⽅法:利⽤动态宏设置默认查询条件
此⽅法常⽤于默认不查询任何数据
⼤致思路:通过动态宏返回不同的查询条件进⾏查询,如果选择了查询条件并点击”查询”按钮进⾏查询,动态宏就返回空值,不影响报表查询,报表根据选择的查询条件来查询;如果没有选择查询条件也没有点击 “查询”按钮,动态宏则返回默认条件,报表就会根据设置的默认条件来查询。
第⼀步:制作参数报表
新建⼀个空⽩报表,另存为”参数查询.raq”,新建⼀个参数,命名为”area”,⽤于接收参数模板中传递过来的货主地区。
新建⼀个数据集,sql语句为:
“SELECT 订单.订单ID,订单.货主国家,订单.货主地区,订单.货主地址 FROM 订单 WHERE 订单.货主地区 =? or ? is null”,给数据集增加两个参数”area”。
单元格中输⼊的内容如下:
A1: 订单ID
B1: 货主国家
C1: 货主地区
D1: 货主地址
A2: =ds1.Select(订单ID)
B2: =ds1.货主国家
C2: =ds1.货主地区
D2: =ds1.货主地址
如下图,把不需要的单元格删除掉
新建⼀个空⽩报表,另存为”参数查询_arg.raq”,把报表设置为填报表,A1单元格输⼊的内容:”请选择货主地区:”。
给B1单元格设置下拉列表框,如下图:
选中B1单元格,设置变量名为”area”
第⼆步:判断参数模板中是否选择了条件并点击”查询”
在设计器中打开” 参数查询_arg.raq”,给报表追加⼀列C列,选中C1单元格,设置它的变量名为”selectFlag”,如下图:
设置C1单元格的值为”1″,如下图:
然后把C列的宽度设置为1,把C列隐藏起来,注意这⾥不是设置列的可视属性。
第三步:设置动态宏,根据判断结果返回不同的查询条件
在设计器中打开报表”参数查询.raq”,增加⼀个参数”selectFlag”:
增加动态宏”ifSelect”,如下图:
动态宏的意思是如果⽤户点击了”查询”按钮,就返回空,宏不起作⽤;没有点击”查询”按钮,就返回宏⾥设置的默认查询条件进⾏查询,例⼦中返回的是:”1=2″,意思就是不查询任何数据(⽤户可以根据⾃⼰的需要在宏⾥设置不同的查询条件)。
第四步:浏览报表
在IE中浏览报表”参数查询.raq”
从上图中可以看出没有查出任何数据。
对⽐以上两种⽅法发现,第⼀种⽅法⽐较适合参数设置默认条件,第⼆种⽅法⽐较适合默认不查出任何数据。
以后遇到类似的需求就可以⽤上⾯的⽅法实现了。