以下是引用y2287958在2016/11/6 23:35:00的发言:
Dim y As String = "A|B|C|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|W|X|Y|Z"
Dim yws As new List(of String)
For Each yw As String In y.Split("|")
yws.Add(yw)
Next
For Each dr As DataRow In DataTables("表A").DataRows
If dr.IsNull("子键")
dr("级次") = Nothing
Else
Dim s As String = yws.Indexof(dr("子键").Chars(0))
If dr("子键").Length > 1
For i As Integer = 1 To dr("子键").Length - 1
s += "." & dr("子键").Chars(i)
Next
End If
dr("级次") = s
End If
Next
谢谢,不过理解错了,执行的结果最后两条是错的,不是2.1和2.1.1,而应该是6.1和6.1.1,我要解决的就是同一个BOM中,有两个半成品都是用到同样的料,在用狐表示例(递归函数)的方式形成目录树的时候,就会在这两个半成品下面挂着两个相同的料号,实际上就是一笔。我想通过这种级次码生成目录树,就不会出现这样的问题。