以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何分析记录特性定位到列  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102379)

--  作者:hbhb
--  发布时间:2017/6/18 22:27:00
--  如何分析记录特性定位到列
大师:见实例,请问如何定位到定位到第二列?记录特征判断条件为:1、该列不重复字符多,2、重复字符也多,3、重复字符规律分段连续
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目50.rar


--  作者:有点色
--  发布时间:2017/6/18 23:01:00
--  
 判断规则是什么?
--  作者:hbhb
--  发布时间:2017/6/18 23:55:00
--  
规则1、有重复字符
2、重复字符数量大于3
3、重复的规律为连续重复两个以上,再连续重复,依次进行。

--  作者:有点色
--  发布时间:2017/6/19 9:30:00
--  

1、2,参考代码

 

Dim dt As DataTable = DataTables("表A")
Dim cname As String = "第二列"
Dim drs = dt.Select("", cname)
Dim count1 As Integer = 0
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
For Each dr As DataRow In drs
    If pdr IsNot Nothing AndAlso pdr(cname) <> dr(cname) Then
        If count > 1 Then
            count1 += 1
        End If
        count = 1
    Else
        count += 1
    End If
    pdr = dr
Next
If count > 1 Then
    count1 += 1
End If
msgbox(count1)


--  作者:有点色
--  发布时间:2017/6/19 9:33:00
--  

3、

 

Dim dt As DataTable = DataTables("表A")
Dim cname As String = "第二列"
Dim drs1 = dt.Select("", cname)
Dim drs2 = dt.Select("", "_Sortkey")
For i As Integer = 0 To drs1.count-1
    If drs1(i)(cname) <> drs2(i)(cname) Then
        msgbox("不同")
        Return
    End If
Next

msgbox("相同")