以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 可否用遍历所有列进行全表搜索 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52890) |
-- 作者:fubblyc -- 发布时间:2014/6/25 11:00:00 -- 可否用遍历所有列进行全表搜索 各位老师好,我知道可以用这种方式实现全表搜索: http://www.foxtable.com/help/index.html?n=1534.htm
Dim txt As String = e.Form.Controls("TextBox1").Text 这样我们在文本框中输入任何内容,Table就会自动进行模糊筛选,显示客户ID、公司名称、地址、联系人这四列中,任何一列包括输入内容的行。
那可以不可以用遍历列的形式来写 tbl.Filter = "客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt 就不用把所有列都写在里面了。
Dim Filter As String = "1=1" For Each c As DataCol In DataTables("VIP基本信息大海_VIP基本信息").DataCols Next If Filter > "" Then |
-- 作者:Bin -- 发布时间:2014/6/25 11:05:00 -- Filter =Filter & "and " & c.Name & " like \'%" & .Value & "%\' " DataTables("VIP基本信息大海_VIP基本信息").LoadFilter = filter.substring(3,Filter.length-3) |
-- 作者:有点甜 -- 发布时间:2014/6/25 11:06:00 --
Dim Filter As String = "1=2" Dim val As String = e.Form.Controls("搜索框").Text If filter > "" Then [此贴子已经被作者于2014-6-25 11:07:16编辑过]
|
-- 作者:fubblyc -- 发布时间:2014/6/25 11:23:00 -- 可否用遍历所有列进行全表搜索 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
哇,Bin老师,甜老师,你们都是高手,都运用的炉火纯青的!!
我刚才用甜老师的试了一下,我知道甜老师的这段代码是帮我把我所有字段的类型都转成字符类型,这样就可以用like模糊搜索。 出现了下面这个问题。。。不是已定义的系统类型 所有列都在错误里面,不管是不是字符类型的。。 [此贴子已经被作者于2014-6-25 11:34:24编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/6/25 11:27:00 -- 哦,写错了,是加载
Dim Filter As String = "1=2" Dim val As String = e.Form.Controls("搜索框").Text If filter > "" Then |
-- 作者:Bin -- 发布时间:2014/6/25 11:27:00 -- Filter &= " or Convert([" & c.name & "],\'System.String\') like \'*" & val & "*\' " 这样看看
|
-- 作者:fubblyc -- 发布时间:2014/6/25 12:11:00 -- 可否用遍历所有列进行全表搜索 搞定,谢谢Bin老师!!谢谢甜老师!!! |
-- 作者:jswalley -- 发布时间:2014/6/25 20:21:00 -- 我按照这种方法,提示 表达式中 \'Convert\' 函数未定义。 |
-- 作者:有点甜 -- 发布时间:2014/6/25 20:40:00 -- 以下是引用jswalley在2014-6-25 20:21:00的发言:
我按照这种方法,提示 表达式中 \'Convert\' 函数未定义。
如果是Access数据源,用format转换
Dim Filter As String = "1=2" Dim val As String = e.Form.Controls("搜索框").Text If filter > "" Then |