1. 内容概述
在实际应用当中,我们经常会遇到如下需求场景:
即当用户不输入报表参数时,报表显示所有数据;当用户输入查询参数时,则按照用户输入的参数值来过滤数据。
报表是通过动态SQL查询来实现此类需求的,接下来就为您介绍此类需求的实现过程。
2. 操作步骤
(1) 新建报表,添加报表参数
如下图所示设置参数名称、提示文本、数据类型。然后将参数的“可不输入”功能打开,并为参数添加一个空的默认值。
设置完成后,单击上方的返回箭头返回到报表设计器当中。
(2) 添加内嵌数据集
添加基于WynDemoDataV3的内嵌数据集。
(3) 使用静态SQL语句获取字段列表
例如本例中使用SQL语句:select * from 销售明细 where 1=2,单击“验证”按钮,可见获取到18个查询字段。
(4) 将静态SQL语句修改为动态SQL语句
修改后,单击“验证”和“确定”按钮。
本例中使用的动态SQL语句为:
select * from 销售明细 where 1=1 {IIF(@报表参数1 = "", "", " and 销售大区='" & @报表参数1 & "'")}
- 含义为:如果报表参数1的值为空,则不附加查询条件,否则将加上 and 销售大区=’参数值’ 作为查询条件。
(5) 添加表格组件
并绑定数据集中的数据字段。
(6) 预览报表
可见报表可以直接打开并展示所有的数据;
单击參數按鈕展开查询面板,可添加查询条件进行过滤查询。