以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- filter 总是迷糊 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=63512) |
-- 作者:machle -- 发布时间:2015/1/22 15:23:00 -- filter 总是迷糊 遇到这种稍微变化一些的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 -- 发布时间:2015/1/22 15:24:00 -- 不用要括号. |
-- 作者:machle -- 发布时间:2015/1/22 15:24:00 -- 写错了一个, txt1 = "\'%" & txt1 & "%\'" 中的两个百分号不存在。问题如上。 |
-- 作者:machle -- 发布时间: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 |
-- 作者:有点甜 -- 发布时间:2015/1/22 15:26:00 -- 代码是没问题的,具体什么问题? |
-- 作者:Bin -- 发布时间:2015/1/22 15:27:00 -- Filter1 = "编号 = \'" & txt1 & "\'" 等于不需要%号 |
-- 作者:Bin -- 发布时间:2015/1/22 15:28:00 -- 看2楼不要加括号 Filter2 = "产品名称 Like " & txt2 & " or 运输名称 Like " & txt3
|
-- 作者:machle -- 发布时间:2015/1/22 15:35:00 -- 回复:(Bin)看2楼不要加括号Filter2 = "产品名称 Li... 把括号去掉就对了。 这语法上次我也问过一次,加括号,这次又不加括号了,真是变幻莫测啊 ![]() |
-- 作者:machle -- 发布时间:2015/1/22 15:35:00 -- 回复:(有点甜) 代码是没问题的,具体什么问题... 根据bin的解答,弄出来了 |
-- 作者:machle -- 发布时间:2015/1/22 15:37:00 -- 回复:(有点甜) 代码是没问题的,具体什么问题... 谢谢!但是这个filter的语法,实在不太理解。上次并列着写,and和or一起,bin告诉我要加括号,这次我以为两个情况,就加了括号,又错了。 情况就是我搞不清楚语法啊。哪里有详细介绍啊! |