Foxtable(狐表)用户栏目专家坐堂 → [求助]重复值筛选


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

主题:[求助]重复值筛选

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 9:39:00 [显示全部帖子]

DataColChanged事件

 

Dim dr As DataRow =e.DataRow

Select Case e.DataCol.name
    Case "出厂编号"
        Dim filter As String
        If dr.IsNull("出厂编号") = False Then
            filter = "出厂编号 = '" & dr("出厂编号") & "'"
        End If
        Dim fdr As DataRow = e.DataTable.find(filter)
        If fdr IsNot Nothing Then
            filter =  "出厂编号 = '" & dr("出厂编号") & "' and  注册代码 = '" & dr("注册代码") & "'"
            fdr = e.DataTable.find(filter)
            If fdr IsNot Nothing Then
                msgbox("存在相同 编号 和 代码")
            Else
                msgbox("存在相同编号")
            End If
        End If
    Case "注册代码"
        Dim filter As String
        If dr.IsNull("注册代码") = False Then
            filter = "注册代码 = '" & dr("注册代码") & "'"
        End If
        Dim fdr As DataRow = e.DataTable.find(filter)
        If fdr IsNot Nothing Then
            filter =  "出厂编号 = '" & dr("出厂编号") & "' and  注册代码 = '" & dr("注册代码") & "'"
            fdr = e.DataTable.find(filter)
            If fdr IsNot Nothing Then
                msgbox("存在相同 编号 和 代码")
            Else
                msgbox("存在相同注册代码")
            End If
        End If
       
End Select


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 21:53:00 [显示全部帖子]

Dim dr As DataRow =e.DataRow

Dim filter As String
If dr.IsNull("出厂编号") = False Then
    filter = "出厂编号 = '" & dr("出厂编号") & "'"
End If

If dr.IsNull("注册代码") = False Then
    filter = "注册代码 = '" & dr("注册代码") & "'"
End If

Dim fdr As DataRow = e.DataTable.find(filter)
If fdr IsNot Nothing Then
    filter =  "出厂编号 = '" & dr("出厂编号") & "' and  注册代码 = '" & dr("注册代码") & "'"
    fdr = e.DataTable.find(filter)
    If fdr IsNot Nothing Then
        msgbox("存在相同 编号 和 代码")
    Else
        msgbox("存在相同编号")
    End If
End If

[此贴子已经被作者于2015/11/2 21:54:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/2 22:35:00 [显示全部帖子]

Dim dr As DataRow =e.DataRow
Dim filter As String
Dim count As Integer

filter =  "出厂编号 = '" & dr("出厂编号") & "' and  注册代码 = '" & dr("注册代码") & "'"
count = e.DataTable.Compute("count(出厂编号)", filter)
If count > 1 Then
    msgbox("存在相同代码和编号")
    e.cancel = True
End If

If dr.IsNull("出厂编号") = False Then
    filter = "出厂编号 = '" & dr("出厂编号") & "'"
End If
count = e.DataTable.Compute("count(出厂编号)", filter)
If count > 1 Then
    msgbox("存在相同编号")
    e.cancel = True
End If
If dr.IsNull("注册代码") = False Then
    filter = "注册代码 = '" & dr("注册代码") & "'"
End If
count = e.DataTable.Compute("count(出厂编号)", filter)
If count > 1 Then
    msgbox("存在相同代码")
    e.cancel = True
End If


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/3 18:03:00 [显示全部帖子]

不是有么? 1就是排除重复值

 

http://www.foxtable.com/help/topics/2712.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2015/11/3 19:52:00 [显示全部帖子]

mark 去除重复

 

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
    End If
    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
   
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

Tables("表A").filter = "_Identify not in (" & idx.trim(",") & ")"


 回到顶部