ActiveReports支持数据库直连,可以在可视化数据查询窗口,根据自己的需求写查询语句,并根据自己的需求进行数据的过滤。在使用参数报表进行数据过滤的时候,有这样的业务场景,就是当参数值为空或者不存在的时候,不进行数据过滤。当参数有输入的值时候,根据参数输入值进行过滤。
具体步骤如下:
(本次讲解是使用SQLserver数据库进行的详细操作步骤的讲解,其他数据库可以根据该操作进行一个对应的参考)
1、进行数据源数据集的绑定
2、添加报表参数(因为你的参数可能存在空值,那么你的参数就勾选允许空值)
3、进行SQL语句的修改
- ="Select * from 产品 where 1=1 " & IIF(Parameters!供应商ID.Value= "", "", " and 供应商ID='" & Parameters!供应商ID.Value &"'")&""
复制代码 4、由于SQL语句在可视化查询器中没办法进行调试,进行这种查询语句的写法的时候给大家一个经验分享
为了更方便的看出实际进行数据查询的SQL语句,我们可以在报表中添加一个文本框组件,并将动态SQL语句粘贴到文本框中,然后再预览报表。
5、预览结果
参数不存在时
参数有输入值时
6、具体的报表文件见附件
|