以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  模糊筛选辅助录入  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39654)

--  作者:FB学生
--  发布时间:2013/8/29 9:47:00
--  模糊筛选辅助录入

我在用模糊筛选辅助录入的时候,如果内容遇到“*”系统就会卡死。我的筛选代码如下:

If e.Col.Name = "产品编号" Then \'如果编辑的是客户ID列
    If e.Col.DroppedDown Then \'如果下拉窗口已经打开
        Dim tbl As Table = Tables("料号_table1")
        If e.Text = "" Then \'如果内容为空
            tbl.Filter = "" \'显示所有产品

        Else \'否则根据输入内容进行模糊筛选
            Dim txt As String = "\'*" & e.Text & "*\'"
            tbl.Filter = "料号 Like " & txt & " Or 品名 Like " & txt & " Or 规格CM Like " & txt & " Or 客户名称 Like " & txt & " Or 工程单号 Like " & txt  & " Or 材料名称 Like " & txt
        End If
    End If
End If

 

 


--  作者:Bin
--  发布时间:2013/8/29 9:55:00
--  
上例子.
--  作者:FB学生
--  发布时间:2013/8/29 9:59:00
--  
例子是帮助中的自定义录入之三,如果单元格中输入带“*”的内容进行模糊筛选就会报错
--  作者:Bin
--  发布时间:2013/8/29 10:04:00
--  
星号是特殊字符 需要使用[*] 括起来

例如 CurrentTable.Filter="型号 like \'*XG[*]118*\'"

--  作者:FB学生
--  发布时间:2013/8/29 10:29:00
--  

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:系统.foxdb


--  作者:有点甜
--  发布时间:2013/8/29 22:23:00
--  
 楼主,你处理一下*号就行了。

If e.Col.Name = "产品编号" Then \'如果编辑的是客户ID列

    If e.Col.DroppedDown Then \'如果下拉窗口已经打开

        Dim tbl As Table = Tables("料号_table1") 

        If e.Text = "" Then \'如果内容为空

            tbl.Filter = "" \'显示所有产品

        Else \'否则根据输入内容进行模糊筛选

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

            tbl.Filter = "料号 Like " & txt & " Or 品名 Like " & txt & " Or 规格CM Like " & txt & " Or 客户名称 Like " & txt & " Or 工程单号 Like " & txt  & " Or 材料名称 Like " & txt 

        End If

    End If

End If