Foxtable(狐表)用户栏目专家坐堂 → 求助:如何用简单代码判断表的某两行完全相同?


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

主题:求助:如何用简单代码判断表的某两行完全相同?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 15:24:00 [显示全部帖子]

Dim dr1 As DataRow
Dim dr2 As DataRow
Dim same As Boolean = True
For Each dc As DataCol In dr1.DataTable.DataCols
    If dr1(dc.name) <> dr2(dc.name)
        same = False
        Exit for
    End If

Next
msgbox(same)

 

[此贴子已经被作者于2017/8/8 15:25:20编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/8 15:33:00 [显示全部帖子]

写代码

 

Dim idx As String = "-1,"
Dim idx_temp As String = ""
Dim pdr As DataRow = Nothing
Dim count As Integer = 0
Dim cs As String = "第一列,第二列"
For Each dr As DataRow In DataTables("表A").Select("", cs)
    Dim flag As Boolean = False
    If pdr IsNot Nothing Then
        For Each c As String In cs.split(",")
            If pdr(c) <> dr(c) Then
                flag = True
                Exit For
            End If
        Next
        If flag Then
            If count > 1 Then
                idx &= idx_temp
            End If
            count = 1
            idx_temp = ""
        Else
            count += 1
            idx_temp &= dr("_Identify") & ","
        End If
    Else
        count += 1
    End If
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

 

Tables("表A").Filter = "_Identify not In (" & idx.trim(",") & ")"

'DataTables("表A").DeleteFor("_Identify In (" & idx.trim(",") & ")")


 回到顶部