模糊查询专题

在银行、销售、仓库管理等的数据查询系统中,我们经常会用到精确查询来准确获取想要的数据,但是很多时候我们并不记得确切的检索条件是什么,这样的话,必然会对我们获取数据造成一定的影响,而此时模糊查询的出现很好的解决了这个难题,因其可以根据用户输入的部分关键词,检索到与之相关联的所有选项数据,从而使用户能够尽可能快地找到所需的数据。与精准查询相比,更灵活、方便、快捷的模糊查询,在sql中常用like条件配合完成此操作。

好了,为了程序猿哥哥可以早日跟加班say goodbye , 不再做单身汪,让我们一起get新技能吧!接下来,我们以举栗子的方式看一下在润乾报表中有哪些地方可以用到模糊查询,又是如何应用的。

栗子1号

基础应用, 如下(图一),输入“张”,检索出所有姓名包含“张”的数据。

紧接着,我们就一起剥开这个栗子,看一看它是怎么处理做到模糊查询的。

首先, 我们把上图拆分成上下2部分,分别是查询部分+数据呈现部分,下面我们先看一下查询部分的报表文件样式及设置,如下:

其中

报表属性中报表类型为:参数模板;

C2单元格设置WEB变量名 为name,此设置的目的是将输入值传递给数据呈现部分的报表进而进行数据筛选。 设置完成后将其保存为3.4_arg.rpx

紧接着,再来看一看数据呈现部分的报表文件样式及设置,如下

其中

第1行 行属性为:分页页眉,第2行 行属性为:头标题,第3-4行 行属性为:报表头,第5行 行属性为:数据区,第6行 行属性为:报表尾,第7行 行属性为:分页页脚。

单元格表达式见上图。

到这里数据呈现区域的样子搞定了,接下来,我们看一下查询部分的name传递过来后数据呈现区域是怎么接收应用的,我们先看一下怎么定义接收name。

打开参数设置面板,新增参数,名称为name, 数据类型为字符串,参数类型为普通参数,设置后点击确定,到这里我们就建好了参数接收的入口了。

:此处的参数名称必须与查询部分的C2单元格设置的WEB变量名保持一致。

接下来就是怎么应用接收到的参数做到模糊查询,此步是需要对查询数据的sql语句进行处理的,处理后的数据集sql如下

与此同时定义,对应数据集sql的参数接入方式,即定义数据集参数,如下:

:此处的参数名称必须与查询部分的C2单元格设置的WEB变量名保持一致

如此这个栗子就完成了,最后别忘了将其保存为3.4.rpx。之后我们就可发布3.4.rpx看到图一的效果了。

栗子2号

上面栗子1号是模糊查询的一种很很很常规的用法,下面我们对栗子1号做一丢丢修饰,变身栗子2号,目的是为了当编辑框键入“王”时,下拉选项中将所有与之相关的选项筛选出来,以缩短下拉选项较多,通过滚动条寻找某个项使用的时间,如下(图二

:这种应用常常需要与查询面板的下拉编辑风格结合使用。

具体操作我们看下面:

首先,给上例3.4.rpx增加数据集语句如下:

SELECT EMPNAME FROM 员工

然后C2的编辑风格由默认的编辑框修改为下拉数据集,如下

之后,点击“设置”,并在弹出界面中指定数据集、显示列、 数据列同时勾选“允许编辑”,如下

最后,点击确定,保存为3.4_arg.rpx,栗子2号,就完成了。

回顾总结

然后…..然后….. ,关于模糊查询的另一个简单又实用的栗子再次完美Ending了,我们来回顾一下其中不为人知的秘密和操作:

1.关联查询部分和数据呈现部分

【知识点】查询部分的报表名称 = 数据呈现部分报表名称 + _arg,比如:3.4.rpx与3.4_arg.rpx

2.筛选条件数据传递

【知识点】关联报表参数值通过参数名称拼配传递,如栗子1号的参数name。

3.sql中模糊匹配尽可能多的选项

【技巧】like 匹配参数前后使用%匹配,%代表匹配0~多个字符。

至此,关于模糊查询的分享就完了,是不是一不小心,又双叒叕get了新技能,以后是不是可以拒绝加班,拒绝做单身汪了,窃喜吧。

快来加入润乾大家庭,get更多快速简便的报表制作方式吧。


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页