Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共15 条记录, 每页显示 10 条, 页签: [1] [2]
[浏览完整版]

标题:如何实现特殊的重复行筛选?

1楼
易服 发表于:2011/2/16 16:44:00

作一按钮检查重复行

在表A中如果a,b,c,d,e.f.g列有数据相同超过2行则视为重复,并且全部筛选出来。

求教代码?

[此贴子已经被作者于2011-2-16 18:03:38编辑过]
2楼
狐狸爸爸 发表于:2011/2/16 17:40:00
foxtable菜单不是有筛选重复行的功能。
3楼
易服 发表于:2011/2/16 17:56:00
foxtable菜单筛选重复行不能实现我要的功能
4楼
狐狸爸爸 发表于:2011/2/16 18:01:00

直接筛选是没有办法的,用Select语句吧。

5楼
mr725 发表于:2011/2/16 19:56:00

这样可以吗:


Dim id As String
For ci As Integer = 0 To CurrentTable.cols.count -1
    CurrentTable.Filter = ""
    Dim lm As String = CurrentTable.cols(ci).name   
    CurrentTable.Select(0,ci)
    Tables("表A").focus

    Syscmd.Filter.ShowSameValues()
    For i As Integer = 0 To CurrentTable.count -1
        Dim rr As Row = Tables("表A").Rows(i)
        If rr(lm) <> ""
          '  If id.contains(Tables("表A").Rows(i)("_identify")) = False   
                id = id  & "[_identify] = " & Tables("表A").Rows(i)("_identify") & " or "
         '   End If
        End If
    Next

Next
output.show(id.substring(0,id.Length-4))
Tables("表A").Filter = id.substring(0,id.Length-4)

 

 顺便问一下老师们 ‘上面粉红色的这个if语句有什么问题,怎么会提示错误呢 ??


 

6楼
kylin 发表于:2011/2/16 20:25:00

Tables("表A").Rows(i)("_identify")得出的值是整数

id.contains应该是判断是否包含字符

你先做转换整数型为字符型试试看

 

7楼
mr725 发表于:2011/2/16 20:45:00
也不行,提示一样
图片点击可在新窗口打开查看此主题相关图片如下:未命名.jpg
图片点击可在新窗口打开查看
8楼
mr725 发表于:2011/2/16 21:08:00
知道了,缺少了个条件 If id Is Nothing  ··· else  ··· end if
9楼
mr725 发表于:2011/2/16 21:13:00

 

这样所有列中有重复值时都可以筛选出来了:

 

With DataTables("表A")
    .StopRedraw
    Dim id0,id As String
    For ci As Integer = 0 To CurrentTable.cols.count -1
        CurrentTable.Filter = ""
        Dim lm As String = CurrentTable.cols(ci).name
        CurrentTable.Select(0,ci)
        Tables("表A").focus

        Syscmd.Filter.ShowSameValues()
        For i As Integer = 0 To CurrentTable.count -1
            Dim rr As Row = Tables("表A").Rows(i)
            If rr(lm) <> ""
                Dim ide As String = rr("_identify")

                If id Is Nothing
                    id = id  & "[_identify] = " & rr("_identify") & " or "
                Else
                    If id <> "" And id.contains(ide) = False
                        id = id  & "[_identify] = " & rr("_identify") & " or "
                    End If
                End If     
            End If
        Next
        'Exit For
    Next

    Tables("表A").Filter = id.substring(0,id.Length-4)   
    .ResumeRedraw
End With

10楼
程兴刚 发表于:2011/2/16 22:05:00
当一个重复也没有的时候会报错!
共15 条记录, 每页显示 10 条, 页签: [1] [2]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02539 s, 2 queries.