Foxtable(狐表)用户栏目专家坐堂 → 关于模糊查询的问题


  共有1838人关注过本帖树形打印复制链接

主题:关于模糊查询的问题

帅哥哟,离线,有人找我吗?
shilhoue
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:204 积分:1802 威望:0 精华:0 注册:2015/3/28 7:24:00
关于模糊查询的问题  发帖心情 Post By: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控件后不显示任何数据。原意是想显示所有行。
请问代码如何更改


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:204 积分:1802 威望:0 精华:0 注册:2015/3/28 7:24:00
  发帖心情 Post By:2015/12/24 9:16:00 [只看该作者]

谢谢版主

 回到顶部
帅哥哟,离线,有人找我吗?
shilhoue
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:204 积分:1802 威望:0 精华:0 注册:2015/3/28 7:24:00
请红袍大师帮忙看看  发帖心情 Post By:2016/1/1 8:46:00 [只看该作者]

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By: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编辑过]

 回到顶部