以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  关于模糊查询的问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=79055)

--  作者:shilhoue
--  发布时间:2015/12/23 13:43:00
--  关于模糊查询的问题
TextBox_Leave()事假代码:离开控件后将控件文本默认值设为浅灰色的“请输入搜索关键字...”
e.Form.Controls("TextBox1").text="请输入搜索关键字..."
e.Form.Controls("TextBox1").ForeColor = Color.LightGray

TextBox_Enter()事件代码:获得焦点后将文本默认值清空,字体颜色设为黑色
e.Form.Controls("TextBox1").Text=""
e.Form.Controls("TextBox1").ForeColor=Color.Black

TextChanged()事件代码如下:用于实现模糊查询
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("业务登记")
If txt="" Then
   tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "项目编号 Like " & txt & " Or 项目名称 Like " & txt & " Or 项目地址 Like " & txt & " Or 联系人 Like " & txt
End If


以上代码均能正常执行,但问题是当文本框中没有内容时单击Table控件后不显示任何数据。原意是想显示所有行。
请问代码如何更改


--  作者:大红袍
--  发布时间:2015/12/23 14:09:00
--  
If txt="" OrElse txt = "请输入搜索关键字..." Then
   tbl.Filter = ""
Else
    txt = "\'%" & txt & "%\'"
    tbl.Filter = "项目编号 Like " & txt & " Or 项目名称 Like " & txt & " Or 项目地址 Like " & txt & " Or 联系人 Like " & txt
End If

--  作者:shilhoue
--  发布时间:2015/12/24 9:16:00
--  
谢谢版主
--  作者:shilhoue
--  发布时间:2016/1/1 8:46:00
--  请红袍大师帮忙看看

   按您说的改了查询代码,新的问题来了:

 

 输了文本后确实查询出结果,但当鼠标点击Table表控件时,列表内容又变成了全部列表,怎么能够只显示我要查的的内容,并且可点击操作呢


--  作者:大红袍
--  发布时间:2016/1/3 23:19:00
--  

TextBox_Leave()

If e.Sender.text="" Then
    e.Sender.text="请输入搜索关键字..."
    e.Form.Controls("TextBox1").ForeColor = Color.LightGray
End If


TextBox_Enter()

If e.Sender.text="" OrElse e.Sender.text= "请输入搜索关键字..." Then
    e.Sender.Text=""
End If

e.Sender.ForeColor=Color.Black

[此贴子已经被作者于2016/1/3 23:19:12编辑过]