以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [原创]字符“[”在LIKE中的比较问题--非法  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=32905)

--  作者:pengjiam
--  发布时间:2013/5/10 10:36:00
--  [原创]字符“[”在LIKE中的比较问题--非法

filter LIKE中无意输入[字符发现系统提示出错,附图

图片点击可在新窗口打开查看

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.table


--  作者:Bin
--  发布时间:2013/5/10 10:46:00
--  
确实有问题,可能使用[字符会让系统认为是列名,但是后面又不对,所以报错.
--  作者:狐狸爸爸
--  发布时间:2013/5/10 10:50:00
--  

Dim drp As WinForm.DropDownBox = e.sender
Dim tbl As Table = Tables("表A")
If drp.Text = "" Then \'如果内容为空
    tbl.Filter = "" \'显示所有客户
Else \'否则根据输入内容进行模糊筛选
    Dim txt As String = "\'*" & drp.Text & "*\'"
    txt= txt.replace("[","[[]").replace("]","[]]")
    tbl.Filter = "第一列 Like " & txt
End If


--  作者:pengjiam
--  发布时间:2013/5/10 12:16:00
--  

我是这样做的:

Dim drp As WinForm.DropDownBox = e.sender
Dim tbl As Table = Tables("表A")
If drp.Text = "" Then \'如果内容为空
    tbl.Filter = "" \'显示所有客户
Else \'否则根据输入内容进行模糊筛选

    dim s as string = drp.text

    drp.text = s.trim("[")
    Dim txt As String = "\'*" & drp.Text & "*\'"
    tbl.Filter = "第一列 Like " & txt
End If