Foxtable(狐表)用户栏目专家坐堂 → [求助]如何查找连续序号中哪些被中断?


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

主题:[求助]如何查找连续序号中哪些被中断?

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


加好友 发短信
等级:一尾狐 帖子:430 积分:2889 威望:0 精华:0 注册:2015/4/28 21:12:00
[求助]如何查找连续序号中哪些被中断?  发帖心情 Post By:2015/8/8 8:27:00 [只看该作者]

求助一段代码,如何找出一段连续序号中被删除而造成的不连续,被删除的序号是哪些?谢谢

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/8 8:44:00 [只看该作者]

用假删除,设置一个删除标志,然后查询那些删除标志为true的行
[此贴子已经被作者于2015/8/8 8:43:57编辑过]

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


加好友 发短信
等级:一尾狐 帖子:430 积分:2889 威望:0 精华:0 注册:2015/4/28 21:12:00
  发帖心情 Post By:2015/8/8 8:46:00 [只看该作者]

不好,序号不是自动生成的。可能存在5之后就是8这样的情况,不单单是由于删除造成的不连续。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2015/8/8 8:48:00 [只看该作者]

Dim lst1 As List(Of String) = DataTables("表A").GetValues("第一列","第一列 >= '037' And 第一列 <= '105'") ‘要查询的编号区间
Dim lst2 As New List(Of String)
For i As Integer = 37 To 105
    If lst1.Contains(CStr(i).PadLeft(3,"0")) = False Then
        lst2.Add(CStr(i).PadLeft(3,"0"))
    End If
Next
For Each s As String In lst2
    Output.Show(s) ’缺失的编号
Next

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


加好友 发短信
等级:超级版主 帖子:107680 积分:547721 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2015/8/8 8:58:00 [只看该作者]

Dim t As Integer
Dim d As New Dictionary(of Integer,Integer)
Dim j As Integer =0
For i As Integer =0 To Tables("表A").Rows.Count -2
 t = Tables("表A").Rows(i)("_Identify")
 If (t+1) <> Tables("表A").Rows(i+1)("_Identify") Then
    d.Add(j,t+1)
    j = j+1
 End If
Next
For m As Integer =0 To d.Count-1
  output.Show(d(m))
Next


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


加好友 发短信
等级:一尾狐 帖子:430 积分:2889 威望:0 精华:0 注册:2015/4/28 21:12:00
  发帖心情 Post By:2015/8/8 9:31:00 [只看该作者]

谢谢!


 回到顶部