Rss & SiteMap
Foxtable(狐表) http://www.foxtable.com
textchanged 代码如下:
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("草绳选产品_Table1")
tbl.Filter= ""
If txt = "" Then
tbl.Filter = ""
Else
txt = "'*" & txt.Replace("*","[*]") & "*'"
'或者 txt = "'*" & strtowide(txt) & "*'"
tbl.filter = "chanpinname Like " & txt & " Or guige Like " & txt & " " '如果产品名称包含txt,或规格包含txt
tbl.Sort = "chanpinname desc,guige desc,danwei desc"
End If
看一下运行效果
无论通过 产品名称筛选 还是 规格筛选,都会得到很多个结果。还是不方便。
我的想法是这样
如果只有一个字符串,那么
tbl.filter = "chanpinname Like " & txt & " or guige Like " & txt & " " '如果产品名称包含txt,或规格包含txt
如果 字符串中有空格 那么
用空格 分割字符串,前部分=txt2,后部分=txt3
tbl.filter = "chanpinname Like " & txt2 & " and guige Like " & txt3& " "
代码如何实现呢?
1、判断是否空格:
http://www.foxtable.com/help/topics/0236.htm
2、将字符串拆分成数组:
http://www.foxtable.com/help/topics/0245.htm
奇怪,按以下代码 竟然搜索不到结果
产品表里面有产品名称“特级红双草绳” 规格“4CM” 的记录。
可是录入 "特级红双 4CM" 找不到记录。
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("草绳选产品_Table1")
tbl.Filter= ""
If txt = "" Then
tbl.Filter = ""
Else
txt = "'*" & txt.Replace("*","[*]") & "*'"
'或者 txt = "'*" & strtowide(txt) & "*'"
If txt.IndexOf(" ") = -1 Then '如果没有空格
tbl.filter = "chanpinname Like " & txt & " or guige Like " & txt & " "
tbl.Sort = "chanpinname desc,guige desc,danwei desc"
Else
'Dim txt As String
Dim txt2 As String
Dim txt3 As String
Dim Values() As String
Values = txt.split(" ")
txt2=values(0)
txt3=values(1)
tbl.filter = "chanpinname Like " & txt2 & " and guige Like " & txt3 & " "
tbl.Sort = "chanpinname desc,guige desc,danwei desc"
End If
End If
谢谢管理员。元宵节还一直坚守岗位。
代码怎么改呢?
主要是跟这段有关吧
txt = "'*" & txt.Replace("*","[*]") & "*'"
不知道具体怎么改
好了 非常感谢管理员,顺祝元宵愉快!
Dim txt As String = e.Form.Controls("TextBox1").Text
Dim tbl As Table = Tables("草绳选产品_Table1")
tbl.Filter= ""
If txt = "" Then
tbl.Filter = ""
Else
txt = "'*" & txt.Replace("*","[*]") & "*'"
'或者 txt = "'*" & strtowide(txt) & "*'"
If txt.IndexOf(" ") = -1 Then '如果没有空格
tbl.filter = "chanpinname Like " & txt & " or guige Like " & txt & " "
tbl.Sort = "chanpinname desc,guige desc,danwei desc"
Else
'Dim txt As String
Dim txt2 As String
Dim txt3 As String
Dim Values() As String
Values = txt.split(" ")
txt2=values(0)& "*'"
txt3="'*"& values(1)
tbl.filter = "chanpinname Like " & txt2 & " And guige Like " & txt3 & " "
tbl.Sort = "chanpinname desc,guige desc,danwei desc"
'Messagebox.show(tbl.filter)
End If
End If
我看错了,txt包含单引号了!
自动全角转换和着色
在默认的情况下,代码编辑器会自动将全角字符转换为半角,如果你不喜欢这种强制转换,可以在第一行代码输入:'''。
例如:
'''
此外编辑器会用不同的颜色标出各种关键词,以及表名和列名,如果你的电脑性能不太好,代码又比较长,这种代码自动着色的功能会耗费较长的时间,此时你只需在第一行输入"'...",即可关闭自动着色。
例如:
'...
Dim s1 As String
s1 = "我喜欢Foxtable,因为..."
Output.Show(s1)
如果你希望同时关闭全角转换和着色,只需在第一行输入"'''..."。
例如:
'''...
Dim s1 As String
s1 = "我喜欢Foxtable,因为..."
Output.Show(s1)