以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]两行或三行查重? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=162426) |
-- 作者:2425004926 -- 发布时间:2021/4/14 15:47:00 -- [求助]两行或三行查重? 单列查重复简单,两列或三列都相同查重? 如果不用增加一列,合并另外的两或三列的方法,有没有其它好的思路 |
-- 作者:有点蓝 -- 发布时间:2021/4/14 15:55:00 -- 参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=83243 |
-- 作者:2425004926 -- 发布时间: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 等效吧 |
-- 作者:有点蓝 -- 发布时间: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 如果条件表达式的计算结果为True,也就是条件成立的话,则执行代码。 |
-- 作者:2425004926 -- 发布时间:2021/4/14 16:48:00 -- 明白了 ,非常谢谢! |