Foxtable(狐表)用户栏目专家坐堂 → 请教一个关于判断字符串中是否含空格的代码。


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

主题:请教一个关于判断字符串中是否含空格的代码。

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
请教一个关于判断字符串中是否含空格的代码。  发帖心情 Post By:2012/2/6 10:49:00 [显示全部帖子]

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

 

看一下运行效果

 

 


此主题相关图片如下:232.jpg
按此在新窗口浏览图片

 

无论通过 产品名称筛选 还是 规格筛选,都会得到很多个结果。还是不方便。

 

 

我的想法是这样

 


此主题相关图片如下:233.jpg
按此在新窗口浏览图片

 

如果只有一个字符串,那么

tbl.filter = "chanpinname Like " & txt & " or guige Like " & txt & " "     '如果产品名称包含txt,或规格包含txt

如果 字符串中有空格 那么

用空格 分割字符串,前部分=txt2,后部分=txt3

tbl.filter = "chanpinname Like " & txt2 & " and guige Like " & txt3& " "  

 

 

代码如何实现呢?

[此贴子已经被作者于2012-2-6 11:01:34编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2012/2/6 16:15:00 [显示全部帖子]

奇怪,按以下代码 竟然搜索不到结果

 

产品表里面有产品名称“特级红双草绳”  规格“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

[此贴子已经被作者于2012-2-6 16:15:46编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2012/2/6 17:21:00 [显示全部帖子]

谢谢管理员。元宵节还一直坚守岗位。

 


图片点击可在新窗口打开查看此主题相关图片如下:234.jpg
图片点击可在新窗口打开查看

代码怎么改呢?

主要是跟这段有关吧

 txt = "'*" & txt.Replace("*","[*]") & "*'"

不知道具体怎么改

[此贴子已经被作者于2012-2-6 17:25:24编辑过]

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2012/2/6 17:30:00 [显示全部帖子]

好了 非常感谢管理员,顺祝元宵愉快!

 

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


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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2012/2/6 23:50:00 [显示全部帖子]

有没有一个把全角字符串转换成半角字符串的函数?

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


加好友 发短信
等级:二尾狐 帖子:532 积分:4020 威望:0 精华:0 注册:2011/6/18 12:41:00
  发帖心情 Post By:2012/2/7 13:16:00 [显示全部帖子]

blackzhu回答得有点牛头不对马嘴。

 回到顶部