以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  无法搜索内容  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=108938)

--  作者:kinglw110
--  发布时间:2017/11/1 10:33:00
--  无法搜索内容

图片点击可在新窗口打开查看此主题相关图片如下:11-1.jpg
图片点击可在新窗口打开查看

想要通过文件框的内容,即时查找表中的内容,分别通过4个单选按钮来限定查找列内容

在文本框的textchanged 事件中写下面这些代码

Dim cz As WinForm.TextBox = e.Form.Controls("TextBox20")
Dim fil As String =cz.text
Dim Filter As String

    If e.Form.Controls("产品名称").checked = True Then
        Filter = "[产品名称] like  \'" & fil & "\'"
    ElseIf e.Form.Controls("材料").checked = True Then
        Filter = "[材料] like\'" & fil & "\'"
    ElseIf  e.Form.Controls("客户").checked = True Then
        Filter = "[客户] like \'" & fil & "\'"
    ElseIf  e.Form.Controls("项目负责人").checked = True  Then
        Filter = "[项目负责人] like \'" & fil & "\'"
    End If

If fil IsNot Nothing Then  ‘文件框不为空进行筛选’
    Tables("产品信息").Filter=Filter
Else
    Tables("产品信息").Filter="" ‘文件框没有内容时显示全部
End If

采用 text 值是想随着文本框输入的值 即时筛选。不知道哪里错了,无法查找

[此贴子已经被作者于2017/11/1 10:46:58编辑过]

--  作者:kinglw110
--  发布时间:2017/11/1 10:57:00
--  
经过测试后,只有完全匹配时才可以进行筛选,like 不是可以模糊查询的吗?要如何修改才能进行模糊查找,还有一个问题,文本框没有内容时为什么显示表内容,
--  作者:有点甜
--  发布时间:2017/11/1 10:59:00
--  

Dim cz As WinForm.TextBox = e.Form.Controls("TextBox20")
Dim fil As String =cz.text
Dim Filter As String = "1=1"


If e.Form.Controls("产品名称").checked = True Then
    Filter = "[产品名称] like \'%" & fil & "%\'"
ElseIf e.Form.Controls("材料").checked = True Then
    Filter = "[材料] like \'%" & fil & "%\'"
ElseIf  e.Form.Controls("客户").checked = True Then
    Filter = "[客户] like \'%" & fil & "%\'"
ElseIf  e.Form.Controls("项目负责人").checked = True  Then
    Filter = "[项目负责人] like \'%" & fil & "%\'"
End If

 

Tables("产品信息").Filter=Filter


--  作者:kinglw110
--  发布时间:2017/11/1 12:09:00
--  
可以运行了,非常感谢 。
%当时也加过,只是加在’之外了,所以老是提供 mod 错误
“Dim Filter As String = "1=1"   “  这段是什么意思 ?

--  作者:有点甜
--  发布时间:2017/11/1 12:29:00
--  
以下是引用kinglw110在2017/11/1 12:09:00的发言:
 
“Dim Filter As String = "1=1"   “  这段是什么意思 ?

 

改成 Dim Filter As String = "" 也可以,没有什么实际用处,可以不写。