Foxtable(狐表)用户栏目专家坐堂 → 当前表模糊搜索


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

主题:当前表模糊搜索

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


加好友 发短信
等级:九尾狐 帖子:2482 积分:22932 威望:0 精华:0 注册:2011/3/29 17:14:00
当前表模糊搜索  发帖心情 Post By:2022/1/24 17:05:00 [只看该作者]

Dim txt As String = e.Form.Controls("数据搜索").Text
Dim tbl As Table = CurrentTable
If txt = "" Then
    tbl.Filter = ""
Else
    txt = "'%" & txt & "%'"
    Dim f As String = "1=2"
    For Each c As Col In tbl.cols
        If c.IsString Then                                       如何做到不区分 数字会是字符串或是日期都可以被搜索到            
            f = f & " or " & c.name & "Like" & txt
        End If
    Next
    tbl.DataTable.loadFilter = f
    tbl.DataTable.load
End If

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


加好友 发短信
等级:超级版主 帖子:110669 积分:563259 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2022/1/24 17:10:00 [只看该作者]

必须区分的,这是数据库的规则,要转换为字符串才能使用like,下面是SqlServer的用法

    For Each c As Col In tbl.cols
        If c.IsString Then                                       如何做到不区分 数字会是字符串或是日期都可以被搜索到            
            f = f & " or " & c.name & "Like" & txt
elseif c.IsNumeric Then   
f = f & " or cast(" & c.name & " as nvarchar) Like" & txt
        End If
    Next

 回到顶部