以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]关于模糊查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132006) |
-- 作者:工匠 -- 发布时间:2019/3/11 17:27:00 -- [求助]关于模糊查询 老师好,现在有个情况,在窗口根据文本框内容模糊查询时,如果文本框内容为空的话,会对整个表进行加载,数据量大就直接无响应。请教一下,该怎样在文本框内容为空的情况下,不进行查询,并提示查询条件不能为空,谢谢! Dim t As Table = Tables("订单表") Dim str As String = e.Form.controls("textbox1").text Dim filter As String = "1=1" For Each s As String In str.Split("*") filter &= " and 订单号 like \'%" & s & "%\'" Next DataTables("订单表").loadfilter= filter DataTables("订单表").load |
-- 作者:有点甜 -- 发布时间:2019/3/11 17:35:00 -- 1、修改代码
Dim t As Table = Tables("订单表")
2、你查询的时候,如果数据量过大,可以用分页处理
http://www.foxtable.com/webhelp/scr/1928.htm
|
-- 作者:工匠 -- 发布时间:2019/3/11 18:16:00 -- 谢谢有点甜老师,分页加载是可以控制加载量。好像修改代码,对文本框“textbox1”为空时,还是会查询出数据来,需求是文本框“textbox1”为空时,不要查询出数据(分页加载不显示一行数据),请老师再帮看看,改下代码,谢谢! [此贴子已经被作者于2019/3/11 18:16:55编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/3/11 18:32:00 -- Dim t As Table = Tables("订单表") Else DataTables("订单表").loadfilter= "1=2" |
-- 作者:工匠 -- 发布时间:2019/3/11 19:32:00 -- 谢谢老师,很奇怪,文本框为空值(没有录入内容),点查询A按钮,还是会对订单表进行加载,需要不加载。实际项目使用地方:扫码订单号找到唯一的订单号对应产品码,窗口另一文本框默认绑定该单号对应的产品码,点另个B按钮,查出该产品码的零件表清单(用于生产打领料单)。现在是按下按钮A,同时虚拟按下按钮B的效果。如果是按分页加载,如果单号文本框为空,按下A按钮,会带出设置的加载行数,会对后续操作造成极大困惑。如果按下A按钮,订单号的产品码才零件表没有值,也会带出分页加载带出的行数,困惑更大。(用的外部数据,部分清单不完整),请老师有时间再帮看看,怎么弄,谢谢! |
-- 作者:有点蓝 -- 发布时间:2019/3/11 20:02:00 -- Dim str As String = e.Form.controls("textbox1").text If str > "" Then Dim filter As String = "1=1" For Each s As String In str.Split("*") filter &= " and 订单号 like \'%" & s & "%\'" Next DataTables("订单表").loadfilter= filter DataTables("订单表").load Else DataTables("订单表").loadfilter= "1=2" DataTables("订单表").load End If |
-- 作者:工匠 -- 发布时间:2019/3/16 17:44:00 -- 谢谢老师,问题已解决,再次谢谢! |