以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  高亮显示搜索到的关键字通用代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=140896)

--  作者:旭日生
--  发布时间:2019/9/17 10:38:00
--  高亮显示搜索到的关键字通用代码
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:高亮查询.table



请版主帮助解答三个问题:
1、下面这个代码是针对所有列的,如果只针对选定列,如何改写代码?
Dim txt As String = e.Form.Controls("textbox1").text
\'Dim t As WinForm.Form = Forms("打包筛选辅助窗口")

If txt = ""
    \'    Tables("打包筛选辅助窗口_Table1").Filter = ""
    Tables("文件级目录").Filter = ""
Else
    Dim filter As String = "1=2"
    Txt = "\'*" & txt & "*\'"
    For Each c As Col In Tables("文件级目录").Cols
        filter &= " or Convert(" & c.Name & ", \'System.String\') Like " & txt
    Next
    \'    Tables("打包筛选辅助窗口_Table1").Filter = filter
    Tables("文件级目录").Filter = filter
End If

Vars("高亮筛选") = True

2、有否办法统计出某列数据中给定的某些关键词数量?

3、如果不给出关键词,有否办法统计出哪个词最多呢?

--  作者:有点蓝
--  发布时间:2019/9/17 11:08:00
--  
1、参考:http://www.foxtable.com/webhelp/topics/0447.htm

2、比如:

Dim str As String = "2314897984654315649787897"
Dim sr() As String = str.Replace(Chr(11),"").Replace("97",chr(11)).Split(chr(11))
msgbox("包含97的个数" & sr.Length - 1 )

3、这个属于自然语言处理的范畴了,需要使用AI分词。一般人做不了