以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于模糊搜索 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177449) |
-- 作者:wugang0131 -- 发布时间:2022/5/23 10:18:00 -- 关于模糊搜索 蓝老师,“专家查询” 表的 “专家查询”窗口加一个文本框,欲实现多字段的模糊搜索,在Textchange事件添加如下代码: For Each c1 As String In e.Form.Controls("TextBox1").Text.Split(" ") Dim tbl As Table = Tables("专家查询_Table1") If c1 = "" Then tbl.Filter = "" Else c1 = "\'%" & c1 & "%\'" tbl.Filter = "姓名 Like " & c1 & " Or 专业 Like " & c1 & " Or 研究领域 Like " & c1 End If Next 这串代码无法实现多字段模糊搜索,请问该如何改进?谢谢蓝老师 |
-- 作者:有点蓝 -- 发布时间:2022/5/23 10:30:00 -- dim s as string = "1=2" For Each c1 As String In e.Form.Controls("TextBox1").Text.Split(" ") If c1 > "" Then c1 = "\'%" & c1 & "%\'" s = s & " or 姓名 Like " & c1 & " Or 专业 Like " & c1 & " Or 研究领域 Like " & c1 End If Next Dim tbl As Table = Tables("专家查询_Table1") tbl.Filter = s
[此贴子已经被作者于2022/5/23 10:30:17编辑过]
|
-- 作者:wugang0131 -- 发布时间:2022/5/24 9:03:00 -- 谢谢蓝老师,您的代码是把所有符合条件的人选都列出来,但是如果要逐次剔除一些条件怎么办呢?比如先搜索出专业为“工”的人选,然后在搜索出来的结果中,再搜索研究领域为“磷化工”的人选?谢谢蓝老师 |
-- 作者:有点蓝 -- 发布时间:2022/5/24 9:13:00 -- Dim tbl As Table = Tables("专家查询_Table1") if tbl.Filter > "" then tbl.Filter = "(" & tbl.Filter & ") and (" & s & ")" else tbl.Filter = s end if
|