Foxtable(狐表)用户栏目专家坐堂 → 团体总分统计问题


  共有4830人关注过本帖树形打印复制链接

主题:团体总分统计问题

帅哥哟,离线,有人找我吗?
aygp
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
团体总分统计问题  发帖心情 Post By:2013/10/29 22:54:00 [只看该作者]

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2013/10/30 0:53:00 [只看该作者]

谢谢甜老师!但有个问题,执行以上代码时会闪屏,如何解决?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/10/30 8:54:00 [只看该作者]

Tables("s").StopRedraw   '加到最前
Tables("s").ResumeRedraw '加到最后



 回到顶部
帅哥哟,离线,有人找我吗?
aygp
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By: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

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/30 22:23:00 [只看该作者]

 回复5楼,去掉 组别 = '男子组' 这个条件

 回到顶部
帅哥哟,离线,有人找我吗?
aygp
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:693 积分:5206 威望:0 精华:0 注册:2011/3/15 12:34:00
  发帖心情 Post By:2013/10/31 11:52:00 [只看该作者]

谢谢甜老师!


 回到顶部