Foxtable(狐表)用户栏目专家坐堂 → filter 总是迷糊


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

主题:filter 总是迷糊

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
filter 总是迷糊  发帖心情 Post By:2015/1/22 15:23:00 [只看该作者]

遇到这种稍微变化一些的filter,就迷糊了。
下面是我的问题:筛出来的结果总有问题。

三个text,一个table,前一个是完全匹配,后两个是模糊匹配,只要满足一个,就把结果筛出来。

Dim Filter1 As String
Dim Filter2 As String
Dim Filter As String
Dim txt1 As String = e.Form.Controls("TextBox1").Text
Dim txt2 As String = e.Form.Controls("TextBox2").Text
Dim txt3 As String = e.Form.Controls("TextBox3").Text

txt1 = "'%" & txt1 & "%'"
Filter1 = "编号 = " & txt1

txt2 = "'%" & txt2 & "%'"
txt3 = "'%" & txt3 & "%'"
Filter2 = "(产品名称 Like " & txt2 & " or 运输名称 Like " & txt3 & ")"

Filter = filter1 & " or " & filter2

Dim dr As DataRow
With DataTables("ProductInformation")    
    
         .LoadFilter = Filter
    .Load
    dr = .Find(Filter)

End With

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/22 15:24:00 [只看该作者]

不用要括号.

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
  发帖心情 Post By:2015/1/22 15:24:00 [只看该作者]

写错了一个, txt1 = "'%" & txt1 & "%'"  中的两个百分号不存在。问题如上。

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
  发帖心情 Post By:2015/1/22 15:25:00 [只看该作者]

遇到这种稍微变化一些的filter,就迷糊了。
下面是我的问题:筛出来的结果总有问题。

三个text,一个table,前一个是完全匹配,后两个是模糊匹配,只要满足一个,就把结果筛出来。

Dim Filter1 As String
Dim Filter2 As String
Dim Filter As String
Dim txt1 As String = e.Form.Controls("TextBox1").Text
Dim txt2 As String = e.Form.Controls("TextBox2").Text
Dim txt3 As String = e.Form.Controls("TextBox3").Text

txt1 = "'" & txt1 & "'"
Filter1 = "编号 = " & txt1

txt2 = "'%" & txt2 & "%'"
txt3 = "'%" & txt3 & "%'"
Filter2 = "(产品名称 Like " & txt2 & " or 运输名称 Like " & txt3 & ")"

Filter = filter1 & " or " & filter2

Dim dr As DataRow
With DataTables("ProductInformation")    
    
         .LoadFilter = Filter
    .Load
    dr = .Find(Filter)

End With

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/22 15:26:00 [只看该作者]

 代码是没问题的,具体什么问题?

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/22 15:27:00 [只看该作者]


Filter1 = "编号 = '" & txt1 & "'"  等于不需要%号 

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2015/1/22 15:28:00 [只看该作者]

看2楼不要加括号
Filter2 = "产品名称 Like " & txt2 & " or 运输名称 Like " & txt3 

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(Bin)看2楼不要加括号Filter2 = "产品名称 Li...  发帖心情 Post By:2015/1/22 15:35:00 [只看该作者]

 把括号去掉就对了。
这语法上次我也问过一次,加括号,这次又不加括号了,真是变幻莫测啊图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(有点甜) 代码是没问题的,具体什么问题...  发帖心情 Post By:2015/1/22 15:35:00 [只看该作者]

 根据bin的解答,弄出来了

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


加好友 发短信
等级:小狐 帖子:355 积分:3925 威望:0 精华:0 注册:2014/7/29 23:42:00
回复:(有点甜) 代码是没问题的,具体什么问题...  发帖心情 Post By:2015/1/22 15:37:00 [只看该作者]

 谢谢!但是这个filter的语法,实在不太理解。上次并列着写,and和or一起,bin告诉我要加括号,这次我以为两个情况,就加了括号,又错了。
情况就是我搞不清楚语法啊。哪里有详细介绍啊!

 回到顶部
总数 13 1 2 下一页