以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]不能搜索包含*键的字段怎么解决?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=144752)

--  作者:yacity
--  发布时间:2019/12/28 17:15:00
--  [求助]不能搜索包含*键的字段怎么解决?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:自定义录入界面之三.table

我们是塑料包装行业,产品的材料就几种,但是规格很多种,多达2千多种,规格都是类似  长*宽*厚度 (如20*30*0.05等)表格实际使用中只有按规格才能快速查找出需要的产品。
2014年以前的版本支持搜索包含*的字段,后来更新后就不支持了。
请问如何解决?
最好能用 like。

代码如下:

2、将窗口的DropDownOpened事件代码设置为:

Dim txt As String = e.Form.DropDownBox.Text
Dim
 tbl As Table = Tables("窗口1_Table1")
If
 txt = "" Then
    
tbl.Filter = ""
Else

    txt = 
"\'%" & txt & "%\'"
    tbl.Filter = 
"客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
End
 If
e.Form.DropDownBox.
Select() 
\'将输入焦点返回下拉列表框



2、将订单表的ChangeEdit事件代码设置为:

If e.Col.Name = "客户ID" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        
Dim tbl As Table = Tables("窗口1_Table1"
        If
 e.Text = "" Then 
\'如果内容为空
            tbl.Filter = "" 
\'显示所有客户
        
Else \'否则根据输入内容进行模糊筛选
            
Dim txt As String = "\'%" & e.Text & "%\'"
            tbl.Filter = 
"客户ID Like " & txt & " Or 公司名称 Like " & txt & " Or 地址 Like " & txt & " Or 联系人 Like " & txt
        End
 
If
    
End If
End
 If


错误提示如下
Like 运算符中出错: 字符串模式“%12*1%”无效。


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



--  作者:有点蓝
--  发布时间:2019/12/29 20:55:00
--  
参考:http://www.foxtable.com/webhelp/topics/0102.htm

txt = "\'%" & txt.replace("*","[*]") & "%\'"

Dim txt As String = "\'%" & e.Text.replace("*","[*]") & "%\'"