以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  三个给一个编号。大神们帮帮忙  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96988)

--  作者:nsgc889613
--  发布时间:2017/3/3 16:04:00
--  三个给一个编号。大神们帮帮忙
用代码,如何实现像图中这样,同单位同一名字的人,每三个给于一个编码,不足三个的再给一个编号,像图中一样以此类推
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.rar

图片点击可在新窗口打开查看此主题相关图片如下:qq.png
图片点击可在新窗口打开查看


--  作者:狐狸爸爸
--  发布时间:2017/3/3 16:10:00
--  
没看懂
--  作者:nsgc889613
--  发布时间:2017/3/3 16:19:00
--  
同姓名的人,三个给一个相同的序号,张三同名是7个,头三个给一个编号1,二组三个给一个2,最后一个单独的给一个3,后面的李四给两个人,不足三个人,给个序号4,按这样的方法,给一个序号。到王二给够三个人给个5,省下的给个二个王二给个6
图片点击可在新窗口打开查看此主题相关图片如下:qqa.png
图片点击可在新窗口打开查看

--  作者:有点色
--  发布时间:2017/3/3 16:24:00
--  

参考代码

 

Dim count As Integer = 1
Dim i As Integer = Format(1, "000")
Dim t As Table = Tables("汇总表")
t.Rows(0)("编号") = i
For j As Integer = 1 To t.rows.count-1
    Dim pr As Row = t.Rows(j-1)
    Dim cr As Row = t.Rows(j)
    If cr("单位") <> pr("单位") Then
        i += 1
        count = 1
    ElseIf cr("姓名") <> pr("姓名") Then
        count = 1
        i += 1
    Else
        count += 1
        If count > 3 Then
            count = 1
            i += 1
        End If
    End If
cr("编号") = Format(i, "000")
Next


--  作者:狐狸爸爸
--  发布时间:2017/3/3 16:38:00
--  
Dim t As Table = Tables("汇总表")
Dim cnt As Integer = 1
t.Rows(0)("序号") = 1
For i As Integer = 1 To t.Rows.Count - 1
    If t.Rows(i)("单位") = t.Rows(i-1)("单位") AndAlso t.Rows(i)("姓名") = t.Rows(i-1)("姓名") Then
        cnt = cnt + 1
        If cnt > 3 Then
            cnt = 1
            t.Rows(i)("序号") = t.Rows(i-1)("序号") + 1
        Else
            t.Rows(i)("序号") = t.Rows(i-1)("序号")
        End If
    Else
        cnt = 1
        t.Rows(i)("序号") = t.Rows(i-1)("序号") + 1
    End If
Next


--  作者:nsgc889613
--  发布时间:2017/3/3 16:57:00
--  
谢谢狐狸爸爸、有点色,就是这种效果。还有个问题 同单位同名的人,没有按排顺序排好,如何同名三个给一个编号,还有就是新增一个同名的人,这同名的人刚好这次分组不够三个人,让得继续按照不足三人的编号不变呢。
--  作者:有点色
--  发布时间:2017/3/3 17:10:00
--  

加入排序就好了

 

Dim t As Table = Tables("汇总表")

t.sort = "单位,姓名"


--  作者:nsgc889613
--  发布时间:2017/3/3 17:30:00
--  
谢谢