以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  有条件的的选择显示冗余值  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=107487)

--  作者:jick0526
--  发布时间:2017/9/28 18:39:00
--  有条件的的选择显示冗余值
老师,请问下,我在高级筛选里选择显示冗余值,冗余值是在B列,A列是一串数字,我想判断的标准以A列里不是最大的数值提取出来
例如我要在第二列提取A和B的冗余值,显示出来的是1.2.4这三行,该怎么弄,谢谢!
  1   A 
  2  A
  3   A
  4  B 
  5   B

--  作者:有点甜
--  发布时间:2017/9/28 19:59: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("", "第二列, 第一列 desc")
   
    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 in (" & idx.trim(",") & ")"


--  作者:jick0526
--  发布时间:2017/9/28 21:08:00
--  
老师,用代码检测了下会显示出1.2.3.5这四行,我是想达到这样的效果,比如选A时,会显示出1.2行,因为3最大,选B时,显示4因为5比4大
--  作者:有点甜
--  发布时间:2017/9/28 21:14:00
--  
代码我测试没问题。如果有问题发例子上来测试。