以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:筛选亢余值后删除多行  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=126662)

--  作者:slguy0286
--  发布时间:2018/10/26 10:28:00
--  求助:筛选亢余值后删除多行
想实现遍历多表,筛选出重复的行后全部删除


--  作者:有点蓝
--  发布时间:2018/10/26 10:46:00
--  
怎么样算是重复的行,编号相同?还是所有列值相同?同一个表的重复行,还是不同步的重复行?
--  作者:slguy0286
--  发布时间:2018/10/26 11:01:00
--  
除入库时间之外的所有列值相同,主要想防止用户多次导入后表中的重复数据
--  作者:有点蓝
--  发布时间:2018/10/26 11:15:00
--  
那就应该在导入的时候,限制不要导入重复数据,比如:http://www.foxtable.com/webhelp/scr/2334.htm

事后处理麻烦不说,效率也很低。

Tables("表A").Sort = "第一列,第二列,第三列,第四列,第五列"
Dim fr As Row = Tables("表A").Rows(Tables("表A").Rows.Count - 1)
For i As Integer = Tables("表A").Rows.Count - 2 To 0 Step -1
    Dim f As Boolean
    Dim r As Row = Tables("表A").Rows(i)
    For Each c As Col In Tables("表A").Cols
        If c.Name <> "入库时间" Then
            If fr(c.Name) <> r(c.Name) Then
                f = True
                Exit
            End If
        End If
    Next
    If f = False Then
        r.delete
    Else
        fr = r
    End If
Next
[此贴子已经被作者于2018/10/26 17:16:30编辑过]

--  作者:slguy0286
--  发布时间:2018/10/26 14:10:00
--  
问题是多表同时导入,每个表的列也比较多,如果都去比较,时间也比较长,所以想筛选出重复值,删除比较快
--  作者:有点蓝
--  发布时间:2018/10/26 14:22:00
--  
看4楼
--  作者:slguy0286
--  发布时间:2018/10/26 16:58:00
--  

测试4楼程序,提示


        For i As Integer Tables("表A").Rows.Count - 2 To 0 Step -1

 

语法错误


--  作者:有点蓝
--  发布时间:2018/10/26 17:16:00
--  
For i As Integer = Tables("表A").Rows.Count - 2 To 0 Step -1
--  作者:slguy0286
--  发布时间:2018/10/27 9:47:00
--  

限制不要导入重复数据的案例是导入excel表的,有没有导入mdb的

想实现:

1.通过文件筛选器打开mdb文件

2.与已经有的内部表比较,有完全相同的不导入

3.内部表里没有的增加新行,并导入数据

[此贴子已经被作者于2018/10/27 10:11:58编辑过]

--  作者:有点蓝
--  发布时间:2018/10/27 10:13:00
--  
mdb数据库直接添加数据源,然后使用这种方式导,判断的逻辑都一样的:http://www.foxtable.com/webhelp/scr/1533.htm