找回密码
 立即注册

QQ登录

只需一步,快速开始

MatrixTian 讲师达人认证 悬赏达人认证

高级会员

141

主题

211

帖子

1378

积分

高级会员

积分
1378

微信认证勋章讲师达人元老葡萄悬赏达人

MatrixTian 讲师达人认证 悬赏达人认证
高级会员   /  发表于:2019-11-25 15:09  /   查看:3636  /  回复:2
本帖最后由 Bella.Yuan 于 2023-1-5 18:34 编辑

在使用报表时,经常会用到查询参数。用户带有参数的报表,在查看时,未选择参数值即可以显示全部数据。
选择参数值后,则按照参数值过滤查询。即参数为空,选择全部。
如下图。
image.png554820251.png

实现此效果,需要在报表内嵌数据集中使用动态SQL。
SQL写法:
="select * from Demo_销售明细 where 1=1 " & IIF( Parameters!p1.Value = "", "", " and 销售大区 ='" & Parameters!p1.Value & "'" )

解释:用IIF表达式判断参数值是否为空,如果为空,返回语句select * from Demo_销售明细 where 1=1,即查询全部数据。
如果非空,则返回含参数值的where条件过滤。
image.png962627258.png


报表设计界面:
在报表中设置一个文本框,用于验证SQL表达式是否编辑正确,表达式为含参数的Sql语句,在预览时,如果表达式正确,返回完整的SQL语句。
image.png687301635.png


参数为空,显示全部类报表设计的详细过程请参考:https://help.grapecity.com.cn/pages/viewpage.action?pageId=38476992


2 个回复

倒序浏览
tisking悬赏达人认证 活字格认证
论坛元老   /  发表于:2021-6-22 13:59:47
沙发
image.png961630248.png

我这数据集里面添加的SQL语句不行啊?您看我这哪里有问题吗?
回复 使用道具 举报
James.Lv讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2021-6-24 09:32:35
板凳
tisking 发表于 2021-6-22 13:59
我这数据集里面添加的SQL语句不行啊?您看我这哪里有问题吗?

参考这个文档:https://gcdn.grapecity.com.cn/fo ... hread&tid=82435
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部