以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]查询内容中包含*如何模糊查询--已解决,谢谢程老师 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40391) |
-- 作者:shaifegh -- 发布时间:2013/9/17 20:37:00 -- [求助]查询内容中包含*如何模糊查询--已解决,谢谢程老师 我所查询的内容中在规格列可能包含“500*100*203”这类的数据,这样做的话模糊查询该怎么写啊,只要不出现*号一切正常,一带*号必报错。可是我的规格需要这种。 菜单代码如下: Dim HeTongHao As String Dim PiaoHao As String Dim GuiGe As String With RibbonTabs("废品登记")("fp查询") HeTongHao = .Items("合同号").Text PiaoHao = .Items("票号").Text GuiGe = .Items("规格").Text End With Tables("废品登记").Filter = "[合同号] like \'*" & HeTongHao & "*\' And [票号] Like \'*" & PiaoHao & "*\'And [规格] Like \'*" & GuiGe & "*\'" [此贴子已经被作者于2013-9-17 21:00:35编辑过]
|
-- 作者:有点甜 -- 发布时间:2013/9/17 20:43:00 -- 用 [*] 比如 Tables("xxx").Filter = "xxxxx like \'*[*]*\'"
|
-- 作者:程兴刚 -- 发布时间:2013/9/17 20:49:00 -- Dim HeTongHao As String
Dim PiaoHao As String
Dim GuiGe As String
With RibbonTabs("废品登记")("fp查询")
HeTongHao = .Items("合同号").Text
PiaoHao = .Items("票号").Text
GuiGe = .Items("规格").Text
GuiGe = GuiGe.Replace("*","[*]")
End With
Tables("废品登记").Filter = "[合同号] like \'*" & HeTongHao & "*\' And [票号] Like \'*" & PiaoHao & "*\'And [规格] Like \'*" & GuiGe & "*\'" |
-- 作者:shaifegh -- 发布时间:2013/9/17 20:50:00 -- Like 运算符中出错: 字符串模式“*[*]*500*20*”无效。 Like 运算符中出错: 字符串模式“*[*]*500*”无效。 经测试只有在规格查询框为空值或*时可查询,但是只要规格查询框内出现除*外的任意字符报错
|
-- 作者:有点甜 -- 发布时间:2013/9/17 20:52:00 -- 看3楼,测试一下。 [此贴子已经被作者于2013-9-17 20:52:20编辑过]
|
-- 作者:shaifegh -- 发布时间:2013/9/17 20:54:00 -- 程老师的刚测试了,除了空值其余全报 |
-- 作者:程兴刚 -- 发布时间:2013/9/17 20:54:00 -- 以下是引用shaifegh在2013-9-17 20:50:00的发言:
Like 运算符中出错: 字符串模式“*[*]*500*20*”无效。 Like 运算符中出错: 字符串模式“*[*]*500*”无效。
经测试只有在规格查询框为空值或*时可查询,但是只要规格查询框内出现除*外的任意字符报错 很明显,除了两端的*其他都应该有中括号,请看3楼! |
-- 作者:shaifegh -- 发布时间:2013/9/17 20:57:00 -- 呵呵,程老师对不起,你的代码是正确的。我刚才忘记删*[*]*这个代码了 谢谢程老师
|
-- 作者:shaifegh -- 发布时间:2013/9/17 20:57:00 -- 完美运行,结果满足需求 |
-- 作者:程兴刚 -- 发布时间:2013/9/17 21:03:00 -- If e.Form.Controls("TextBox1").Value = Nothing MessageBox.show("请输入查找内容!") Return End If Dim s As String = e.Form.Controls("TextBox1").Value s = s.Replace("[","[[]").Replace("]","[]]").Replace("*","[*]") Tables("表A").Filter = "第一列 like \'*" & s & "*\'" |