以文本方式查看主题 - 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 -- 团体总分统计问题 田径运动会中在比赛结束后要计算:单位男子总分、单位女子总分、单位团体总分(即男女总分合计)。请问如何设计代码?
|
||||
-- 作者:有点甜 -- 发布时间: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 -- 谢谢甜老师! |