Rss & SiteMap

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

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

标题:在表中查找编号重复的行,什么样的代码效率高?

1楼
cpayinyuan 发表于:2011/9/6 12:05:00

    我想要在一个表中查找编号重复的行,即只要某行的 编号 在表中有两个以上,就查找出来.我写的代码执行效率很低(我是用compute逐行统计的,需要很长时间),求一个效率高的代码.

   

    我的要求举例:若表中总共有6行数据

 

 


图片点击可在新窗口打开查看此主题相关图片如下:临时表.jpg
图片点击可在新窗口打开查看

 

 

则我想查找出来的结果共4行,即:显示第1行,第3行,第5行,第6行.

2楼
mr725 发表于:2011/9/6 12:19:00
这个系统命令呢: Syscmd.Filter.ShowSameValues()
3楼
cpayinyuan 发表于:2011/9/6 12:29:00
以下是引用mr725在2011-9-6 12:19:00的发言:
这个系统命令呢: Syscmd.Filter.ShowSameValues()

我没看明白这个命令是怎么用的.

 

估计不行吧,我要的不是要查询完全相同的重复的行,我是要查询指定列有重复值的行.

4楼
mr725 发表于:2011/9/6 13:40:00

正是你要的,不妨你试试看:选定你指定的列,执行2楼代码····

5楼
blackzhu 发表于:2011/9/6 16:03:00

查找重覆行:

 

Dim Index As Integer
Dim drss As List(Of DataRow)
drss = DataTables("导入订单").Select("[零件代号]='" & Tables("导入订单").current("零件代号") & "'")
For Each dr As DataRow In drss
    Index= Tables("导入订单").FindRow(dr)
    If Index > -1 Then
        Tables("导入订单").Position = Index
            MessageBox.show("出现" & dr("零件代号") & "在" & Index & "行")
    End If
Next

6楼
blackzhu 发表于:2011/9/6 16:04:00

保留一条数据,其余重覆全部删除

 

Dim t As Table =  Tables("导入订单")
t.Select(t.Rowsel,t.cols("零件代号").Index)
syscmd.Filter.ShowRedundantValues
For i As Integer = t.Rows.Count -1 To 0 Step -1
    t.rows(i).Delete
Next
t.filter = ""

7楼
cpayinyuan 发表于:2011/9/7 12:05:00
以下是引用mr725在2011-9-6 13:40:00的发言:

正是你要的,不妨你试试看:选定你指定的列,执行2楼代码····

可以了,谢谢!

 

只是帮助中对系统命令的说明太简单,有些看不明白什么意思.

共7 条记录, 每页显示 10 条, 页签: [1]

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

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