Select e.DataCol.Name
Case "学校代码", "年级代码", "班级"
If e.DataRow.IsNull("学校代码") OrElse e.DataRow.IsNull("年级代码") OrElse e.DataRow.IsNull("班级") Then
e.DataRow("考号") = Nothing
Else
Dim lb As String = e.DataRow("学校代码") & e.DataRow("年级代码")'' & e.DataRow("班级")
Dim max As String
Dim idx As Integer
max = e.DataTable.Compute("Max(考号)","(学校代码+年级代码) = '" & lb & "' And [_Identify] <> " & e.DataRow("_Identify")) '取得该类别的最大编号
If max > "" Then '如果存在最大编号
idx = CInt(max.Substring(lb.Length)) + 1 '获得最大编号的后三位顺序号,并加1
Else
idx = 1 '否则顺序号等于1
End If
e.DataRow("考号") = lb & Format(idx,"0000")
End If
End Select
老师我改了下实现了同校同年级通号了,但想按同校同年级1个班1个人的编通号走不晓得怎么办,请求指导,谢谢!!!
A校A级1班 XXXXX0001 姓名a1
A校A级2班 XXXXX0002 姓名B1
A校A级1班 XXXXXXX 0003 姓名a2
A校A级1班 XXXXXXX0004 姓名B2
姓名a1,a2按他本班姓名排序,b1,b2按他们所在班排序
目的是同校同年级连号走,但座位按班错开,有利于考试公平