以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  成绩排名  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=145057)

--  作者:联友
--  发布时间:2020/1/7 8:05:00
--  成绩排名

老师,按班级、学科增加学生成绩排名,请指教,谢谢!

Dim t As Table = e.Form.controls("Table1").Table
e.Form.controls("NavBar1").SelectedPage.Butt
Dim SQL As String ="Sel ect  c.学期,班级,考试名称,c.学生编号,学生姓名,学科,学生分数 Fr om ({学生基本信息} a Inner JOIN {学生缴费} b ON b.学生编号 = a.学生编号) Inner JOIN {学生成绩} c ON c.学期 = b.学期 And c.学生编号 = b.学生编号 Where c.学期 = \'20191\'"
Dim cmd As New SQLCommand
cmd.CommandText = SQL
Dim dt As DataTable = cmd.ExecuteReader()
Dim b As New CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("学期")
b.HGroups.AddDef("班级")
b.HGroups.AddDef("学生编号")
b.HGroups.AddDef("考试名称")
b.VGroups.AddDef("学科","{0}_分数")
b.Totals.AddDef("学生分数", "学生分数")

t.DataSource = b.BuildDataSource()

[此贴子已经被作者于2020/1/7 8:11:16编辑过]

--  作者:有点蓝
--  发布时间:2020/1/7 9:07:00
--  
参考:http://www.foxtable.com/webhelp/topics/2382.htm
--  作者:联友
--  发布时间:2020/1/7 9:17:00
--  

关键学科引用

b.VGroups.AddDef("学科","{0}_分数")


--  作者:有点蓝
--  发布时间:2020/1/7 9:32:00
--  
没看懂,什么问题?
--  作者:联友
--  发布时间:2020/1/7 9:41:00
--  

Dim t As Table = e.Form.controls("Table1").Table
e.Form.controls("NavBar1").SelectedPage.Butt
Dim SQL As String ="Sel ect  c.学期,班级,考试名称,c.学生编号,学生姓名,学科,学生分数 Fr om ({学生基本信息} a Inner JOIN {学生缴费} b ON b.学生编号 = a.学生编号) Inner JOIN {学生成绩} c ON c.学期 = b.学期 And c.学生编号 = b.学生编号 Where c.学期 = \'20191\'"
Dim cmd As New SQLCommand
cmd.CommandText = SQL
Dim dt As DataTable = cmd.ExecuteReader()
Dim b As New CrossTableBuilder("统计表1",dt)
b.HGroups.AddDef("学期")
b.HGroups.AddDef("班级")
b.HGroups.AddDef("学生编号")
b.HGroups.AddDef("考试名称")
b.VGroups.AddDef("学科","{0}_分数")  ‘ 学科引用?
b.Totals.AddDef("学生分数", "学生分数")

t.DataSource = b.BuildDataSource()

老师,搞了1天多了写不出来。

[此贴子已经被作者于2020/1/7 9:47:02编辑过]

--  作者:有点蓝
--  发布时间:2020/1/7 9:53:00
--  
什么引用?引用什么?上传实例说明
--  作者:联友
--  发布时间:2020/1/7 10:34:00
--  

按学科排名和总分,想要下图结果,求老师帮忙,谢谢

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生成绩排名.rar


图片点击可在新窗口打开查看此主题相关图片如下:qq截图20200107103336.png
图片点击可在新窗口打开查看
[此贴子已经被作者于2020/1/7 10:34:17编辑过]

--  作者:有点蓝
--  发布时间:2020/1/7 10:43:00
--  
排名列需要作为临时列添加:http://www.foxtable.com/webhelp/topics/1428.htm
然后移动到合适的位置:http://www.foxtable.com/webhelp/topics/1437.htm


--  作者:联友
--  发布时间:2020/1/8 12:58:00
--  

老师,帮我代码错在哪?谢谢!

For Each dc As DataCol In DataTables("成绩分析_Table1").DataCols
    Dim Tel As String = dc.Caption
    Dim Parts() As String = Tel.Split("_")
    If Tel.Contains("_") Then
        Dim dt1 As DataTable = DataTables("成绩分析_Table1")
        For Each v As String In Parts(0)
            dt.DataCols.Add(v & "_名次", Gettype(Double))
        Next
    End If
Next


--  作者:有点蓝
--  发布时间:2020/1/8 13:36:00
--  

Dim dt1 As DataTable = DataTables("成绩分析_Table1")
For Each dc As DataCol In dt1.DataCols
    Dim Tel As String = dc.Caption
    If Tel .Contains("_分数") Then
        Dim Parts() As String = Tel.Split("_")
        dt.DataCols.Add(Parts(0) & "_名次", Gettype(Double))
    End If
Next