以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  根据两列名称自动编码,重复值编同一个名称  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=85549)

--  作者:wu725
--  发布时间:2016/5/27 22:01:00
--  根据两列名称自动编码,重复值编同一个名称

判断男选手&女选手列,自动生成背号,如图:男选手&女选手如果是唯一依次自动编4位码,如果有完全重复名称,有多少都只编同一个编码。表名称“D报名表”请大家给个编码,谢谢


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


--  作者:Hyphen
--  发布时间:2016/5/28 9:38:00
--  
Dim dict As new Dictionary(of String,String)
Dim idx As Integer = 1
With Tables("D报名表")
    Dim key1 As String
    For i As Integer = 0 To .Rows.Count - 1
        key1 = .Rows(i)("男选手") & "|" & .Rows(i)("女选手")
        If dict.ContainsKey(key1) Then
            .Rows(i)("背号") = dict(key1)
        Else
            .Rows(i)("背号") = idx.ToString().PadLeft(4,"0")
            dict.Add(key1,idx.ToString().PadLeft(4,"0"))
            idx += 1
        End If
    Next
End With

--  作者:wu725
--  发布时间:2016/5/28 16:04:00
--  

非常实用,太感谢了!