Foxtable(狐表)用户栏目专家坐堂 → 检测一列的重复值,这些代码哪里有错?


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

主题:检测一列的重复值,这些代码哪里有错?

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 15:35:00 [显示全部帖子]

重新编辑一下上面的代码,不要使用代码模式发表代码,很不方便,请直接贴出代码,不要有行号
[此贴子已经被作者于2020/6/19 15:35:31编辑过]

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 15:44:00 [显示全部帖子]

没看懂这个代码逻辑,如果要检测某一列是否有重复,直接使用:http://www.foxtable.com/webhelp/topics/2712.htm

如果要是不重复编号,直接编号+1即可,干嘛要使用Rand.Next。或者看看:http://www.foxtable.com/webhelp/topics/2403.htm

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 16:14:00 [显示全部帖子]

添加一个临时列“序号”,然后随机给序号列赋值,再按照序号列排序,这样行顺序基本上就是随机的了,再按照序号列排序后的行顺序+1生成编号即可

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 16:45:00 [显示全部帖子]

Dim cfList As New List (of String)
For i As Integer = 0 To Cot
    Dim djID = CurrentTable.Rows(i)("物资信息_单据编号")
    If cfList.Contains(djID) = False Then
        cfList.Add(djID)
    Else
        Do While true
            CurrentTable.Rows(i)("物资信息_单据编号") = Rand.Next(9999)
            If cfList.Contains(djID) = False Then
                cfList.Add(djID)
exit do
            End If
        Loop 
    End If
Next

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


加好友 发短信
等级:超级版主 帖子:106680 积分:542589 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/6/19 17:04:00 [显示全部帖子]

 Do While true
            djID = Rand.Next(9999)
            If cfList.Contains(djID) = False Then
CurrentTable.Rows(i)("物资信息_单据编号") = djID
                cfList.Add(djID)
exit do
            End If
        Loop 

 回到顶部