Foxtable(狐表)用户栏目专家坐堂 → 总分唯一排名代码问题


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

主题:总分唯一排名代码问题

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/21 13:11:00 [显示全部帖子]

Tables("九年级").StopRedraw
Dim bjs As List(Of String) = DataTables("九年级").GetValues("年级", "[年级] Is Not null")
Dim Count As Integer
Dim ColNames() As String = {"语文_分数", "数学_分数", "英语_分数", "物理_分数", "化学_分数", "政治_分数", "历史_分数"} 
Dim TotalName As String 
For Each ColName As String In ColNames '
    For i As Integer = 0 To bjs.Count - 1 
        Dim drs As List(Of DataRow) = DataTables("九年级").Select("[年级] = '" & bjs(i) & "'", ColName & " DESC") 
        Count = 0
        TotalName = Left(ColName, 2) & "_年级排名"
        For n As Integer = 0 To drs.Count - 1
            Count = Count + 1
            If n > 0 AndAlso drs(n)(ColName) = drs(n - 1)(ColName) Then
                drs(n)(TotalName) = drs(n - 1)(TotalName) 
            Else
                drs(n)(TotalName) = Count
            End If
        Next
    Next 
Next
Tables("九年级").Sort = "_分数 DESC"
Tables("九年级").ResumeRedraw
表中的列名为:"语文_分数","语文_年级排名","数学_分数","数学_年级排名"等, 老师, 我这样写代码行吗 TotalName = Left(ColName, 2) & "_年级排名"

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/22 15:58:00 [显示全部帖子]

Vars.Add("lb", GetType(String)) '增加全局变量
Dim cmd As New SQLCommand 
Dim dt As DataTable
cmb.CommandText = DataTables("Ⅱ成绩汇总表").GetComboListString("学期")
dt = cmd.ExecuteReader() '生成统计表
For Each dr As DataRow In dt.Datarows
    Vars("lb") = Vars("lb") & "|" & dr("学期")
Next
老师,请修改一下上述全局变量代码,谢谢

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/22 16:21:00 [显示全部帖子]

未声明cmb,可能因其保护级别而不可访问
第四句代码错误
[此贴子已经被作者于2024/3/22 16:22:12编辑过]

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/22 16:37:00 [显示全部帖子]

老师,除此之外,是不是第二句也有问题?SQL
[此贴子已经被作者于2024/3/22 16:37:55编辑过]

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/22 16:53:00 [显示全部帖子]

就是那个成绩排名升降分析例子,用于列表项目数据引用

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/22 17:39:00 [显示全部帖子]

老师,也不好说,等有空做个例子发过来

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/27 17:38:00 [显示全部帖子]

Select Case e.DataCol.Name

    Case "姓名"

        If e.NewValue > "" Then

            e.DataRow("比对_姓名重复次数") = e.DataTable.compute("count(姓名)", "姓名='" & e.newvalue & "'")

            Dim a As Integer = e.DataTable.compute("count(姓名)", "姓名='" & e.oldvalue & "'")

            e.DataTable.replacefor("比对_姓名重复次数", a, "姓名='" & e.oldvalue & "'")

        Else

            e.DataRow("比对_姓名重复次数") = Nothing

        End If

End Select

这个代码我放在表DataColChanged事件中,行数不多时运行正常的;可是我将此代码放在两三万行的表中,重置姓名列,就运行不知道多长时间,不见程序运行完毕,请问老师这是什么原因?怎么修改代码?


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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/27 19:33:00 [显示全部帖子]

Dim b As New GroupTableBuilder("统计表1",DataTables("表A"))
b.Groups.AddDef("姓名")'添加客户列用于分组
b.Totals.AddDef("姓名",AggregateEnum.Count,"人数")
b.Build '生成统计表
MainTable = Tables("统计表1") '打开生成的统计表
老师,怎么根据分组统计结果更新表格数据,请写一下代码,谢谢

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


加好友 发短信
等级:三尾狐 帖子:678 积分:4884 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2024/3/28 21:15:00 [显示全部帖子]

谢谢老师,问题解决

 回到顶部
总数 80 上一页 1 2 3 4 5 6 7 8