以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  团体总分统计问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=41896)

--  作者:aygp
--  发布时间:2013/10/29 22:54:00
--  团体总分统计问题
田径运动会中在比赛结束后要计算:单位男子总分、单位女子总分、单位团体总分(即男女总分合计)。请问如何设计代码?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:团体总分统计问题.rar


--  作者:有点甜
--  发布时间:2013/10/29 23:18:00
--  
如下代码,剩余的自己改一下。

Dim dt As DataTable = DataTables("单位男子组总分")
Dim dt_source As DataTable = DataTables("比赛得分")
dt.DataRows.Clear
Dim dws As List(Of String) = dt_source.GetUniqueValues("组别 = \'男子组\'", "单位")
For Each dw As String In dws
    Dim ndr As DataRow = dt.AddNew
    ndr("单位") = dw
    ndr("总分") = dt_source.Compute("sum(得分)", "组别 = \'男子组\' and 单位 = \'" & dw & "\'")
Next

Dim drs As List(Of DataRow) = dt.Select("", "总分 desc")
drs(0)("名次") = 1
For i As Integer = 1 To drs.Count - 1
    If drs(i)("总分") = drs(i-1)("总分") Then
        drs(i)("名次") = drs(i-1)("名次")
    Else
        drs(i)("名次") = i+1
    End If
Next

--  作者:aygp
--  发布时间:2013/10/30 0:53:00
--  
谢谢甜老师!但有个问题,执行以上代码时会闪屏,如何解决?
--  作者:Bin
--  发布时间:2013/10/30 8:54:00
--  
Tables("s").StopRedraw   \'加到最前
Tables("s").ResumeRedraw \'加到最后



--  作者:aygp
--  发布时间:2013/10/30 12:46:00
--  

如何将以下代码修改成单位团体总分(即男女总分合计)。

 

Dim dt As DataTable = DataTables("单位男子组总分")
Dim dt_source As DataTable = DataTables("比赛得分")
dt.DataRows.Clear
Dim dws As List(Of String) = dt_source.GetUniqueValues("组别 = \'男子组\'", "单位")
For Each dw As String In dws
    Dim ndr As DataRow = dt.AddNew
    ndr("单位") = dw
    ndr("总分") = dt_source.Compute("sum(得分)", "组别 = \'男子组\' and 单位 = \'" & dw & "\'")
Next

Dim drs As List(Of DataRow) = dt.Select("", "总分 desc")
drs(0)("名次") = 1
For i As Integer = 1 To drs.Count - 1
    If drs(i)("总分") = drs(i-1)("总分") Then
        drs(i)("名次") = drs(i-1)("名次")
    Else
        drs(i)("名次") = i+1
    End If
Next

--  作者:有点甜
--  发布时间:2013/10/30 22:23:00
--  
 回复5楼,去掉 组别 = \'男子组\' 这个条件
--  作者:aygp
--  发布时间:2013/10/31 11:52:00
--  

谢谢甜老师!