Foxtable(狐表)用户栏目专家坐堂 → [求助]两行或三行查重?


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

主题:[求助]两行或三行查重?

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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
[求助]两行或三行查重?  发帖心情 Post By:2021/4/14 15:47:00 [只看该作者]

单列查重复简单,两列或三列都相同查重?
如果不用增加一列,合并另外的两或三列的方法,有没有其它好的思路

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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/14 15:55:00 [只看该作者]

参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=83243

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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2021/4/14 16:37: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("", 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
    End If
    idx_temp &= dr("_Identify") & ","
    pdr = dr
Next

If count > 1 Then
    idx &= idx_temp
End If

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

上面的代码中有几个问题,因为在帮助文件中从来没有见过:
Dim pdr As DataRow = Nothing   ‘这个是什么意义
idx &= idx_temp   ’和  idx = idx_temp  等效吗?为什么多加一个&
count += 1   ’为什么多一个“+号”
If flag Then   ‘这个和  If flag = true Then  等效吧


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


加好友 发短信
等级:超级版主 帖子:110574 积分:562760 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/4/14 16:43:00 [只看该作者]

1、Dim pdr As DataRow = Nothing   ‘这个是什么意义
定义一个变量,值为空,其它代码在赋值
2、idx &= idx_temp   ’和  idx = idx_temp  等效吗?为什么多加一个&
等同于:idx = idx & idx_temp 
3、count += 1   ’为什么多一个“+号”
等同于:count = count + 1
4、If flag Then   ‘这个和  If flag = true Then  等效吧
等效。flag本身就是逻辑型,不是True就是False

If语句有三种形式

单分支形式:

If 条件表达式 Then
    代码

End If

如果条件表达式的计算结果为True,也就是条件成立的话,则执行代码。


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


加好友 发短信
等级:三尾狐 帖子:712 积分:5559 威望:0 精华:0 注册:2019/11/14 9:36:00
  发帖心情 Post By:2021/4/14 16:48:00 [只看该作者]

 明白了 ,非常谢谢!

 回到顶部