以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  自动编考号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=89134)

--  作者:刘林
--  发布时间:2016/8/16 10:10:00
--  自动编考号
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按他们所在班排序
   目的是同校同年级连号排,但座位按班错开,有利于考试公平

--  作者:Hyphen
--  发布时间:2016/8/16 10:13:00
--  
http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=89111&page=1&star=2
--  作者:刘林
--  发布时间:2016/8/16 11:15:00
--  
太好啦,我想的结果达到了,十二分感谢!!!让我这个初学者再次认识到fox的强大,还望多指点.
--  作者:刘林
--  发布时间:2016/8/16 15:32:00
--  
运行了后重打开项目时,成绩表的字段变了,是什么原因,请问怎么办
--  作者:大红袍
--  发布时间:2016/8/16 15:42:00
--  
以下是引用刘林在2016/8/16 15:32:00的发言:
运行了后重打开项目时,成绩表的字段变了,是什么原因,请问怎么办

 

数据不保存?

 

http://www.foxtable.com/webhelp/scr/1380.htm