以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  来回循环问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=153032)

--  作者:刘林
--  发布时间:2020/7/29 12:25:00
--  来回循环问题
Dim tb01 As Table= Tables("学生信息A_table01")
Dim i As Integer=0
Dim addtrue As Boolean=True
For Each r As Row In tb01.Rows
    If addtrue=True        
        i=i+1
        If i=4
            addtrue=False
        End If
    Else        
        i=i-1
        If i=0
            addtrue=True
        End If
    End If
    r("预安班号")=i
Next



一个表按成绩排序,想按成绩分4个班,规则是1,2,3,4,4,3,2,1这样达到均衡,上面代码有点不对,请问如何改








Dim tb01 As Table= Tables("学生信息A_table01")
Dim i As Integer=0
Dim addtrue As Boolean=True
For Each r As Row In tb01.Rows
    If addtrue=True
        i=i+1
        r("预安班号")=i        
        If i=4
            addtrue=False
        End If
    Else
        r("预安班号")=i        
        i=i-1
        If i=0
            addtrue=True
        End If
    End If
Next


改成这样可以实现,但觉得很low,请教个专业点的写法,谢谢







[此贴子已经被作者于2020/7/29 12:44:33编辑过]

--  作者:有点蓝
--  发布时间:2020/7/29 13:43:00
--  
什么low不low的,能够实现功能的都是好代码

Dim irr() As Integer = {1,2,3,4,4,3,2,1}
Dim tb01 As Table = Tables("学生信息A_table01")
For i As  Integer = 0 To tb01.Rows.Count - 1
    tb01.Rows(i)("预安班号") = irr(i Mod 8)
Next