你的相似程度最大是什么意思?
是不是连续匹配的字符个数最多?如果是,那么可以用循环+SQL来实现查找。

解决方案 »

  1.   

    好像不用循环吧  SQL似乎有匹配度的函数 不明所以,随便乱说一通而已:)
      

  2.   

    在字段中先搜索“程”,如果找到,就从找到位置在字段中向后比较长度为Len("程序员大本营")-1个字符,如相同则找到,反之没有。
    以前用C做过类似程序,大概算法相差不会太多的。
      

  3.   

    在SQL SERVER里有比较的函数,不过好象POWPOW的做法好象。。
    我不是很明白你的想法(因为我是超级笨蛋那:))
    按我的理解,你可以使用LIKE ‘%XXXX%'找出类似的记录后再具体比较
    我也不知这个理解对不对
      

  4.   

    我的方法如下:
    dim object as string
    For t = Len(Trim(object)) To 2 Step -1 'to 2的原因是至少要2个字相同
               For r = 1 To Len(Trim(object)) - t + 1
                  DoEvents
                  .RecordSource = "SELECT A FROM <table> WHERE A LIKE('" & Mid(Trim(object), r, t) & "*')"
                  .Refresh
                 If .Recordset.RecordCount <> 0 Then
                        exit fanction
                 End If
               Next r
             Next t
    太笨了这个办法。还有如果数据表中有记录“程序员”,“大程序员警方””解放程序员几个“的话,会把三个都取出来。其实我只要“程序员”这个记录就好了,这儿又要进行一次判断。其实这个都不算什么!更变态的是:不止一个表喔!我要从三个表中取(每个表1万条记录)这就要比较三个表中最匹配的记录了。我要问的是能不能在recordsource设置中一次取出三个表的最匹配记录!我都不知自己不表达清楚没有,我现在脑子乱的很,想自杀!
      

  5.   

    SOUNDEX 和 DIFFERENCE不知能不能用