Foxtable(狐表)用户栏目专家坐堂 → [求助]自定义分数段统计


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

主题:[求助]自定义分数段统计

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
[求助]自定义分数段统计  发帖心情 Post By:2016/6/10 12:42:00 [只看该作者]

外部数据源,出现下面的错误提示,不知何故
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:代码.txt

图片点击可在新窗口打开查看此主题相关图片如下:qq截图20160610103611.png
图片点击可在新窗口打开查看


原帖地址:http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=32395




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


加好友 发短信
等级:狐神 帖子:4628 积分:33778 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2016/6/10 18:06:00 [只看该作者]

上例子

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2016/6/10 20:47:00 [只看该作者]

外部数据源是sql数据源,已在使用中,不方便外传,
外部数据有近三十万条,可能是查询数据量太多造成的,
其实我只需要统计已加载的数据,不需要统计后台全部数据,

代码如何改为 只统计 已加载的成绩的分数段?谢谢!





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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2016/6/10 20:48:00 [只看该作者]


Dim SQL,s1,s2,s3 As String
Dim fsd As New List(of Double)
Dim t1 As Table =Tables("封面页")  '注意更改表名称
Dim rs As List(of Row) = t1.GetCheckedRows()
Dim kms As List(of String)  =DataTables("封面页").GetUniqueValues("科目 > ''","科目")
s1 = " Un ion All Sel ect 班级,'@' As 科目,学生姓名, @ As 成绩 Fr om {学生成绩库}"

If rs.Count >0 Then
    For Each r1 As Row In rs
        If fsd.Contains(r1("分数段")) = False Then
            fsd.add(r1("分数段"))
        End If
    Next
    
    fsd.sort
    For Each s2 In kms
        SQL+ = s1.replace("@",s2)      '合成标准数据库([语文,数学,英语,化学,物理]多列

合并为[成绩]一列),方便统计!
    Next
    SQL =SQL.substring(11)
    
    For n1 As Integer = 0 To fsd.count-1
        s1 = ",1,0)) As " &  fsd(n1)  & iif(n1 =0,"分以下","分及以上")
        Select Case n1
            Case  0
                s2 = ",Sum(iif(成绩 < " & fsd(n1)
            Case  fsd.count-1
                s2 = ",Sum(iif(成绩 >= " & fsd(n1)
            Case Else
                s2 = ",Sum(iif(成绩 >= " & fsd(n1) & " and 成绩 < " & fsd(n1+1)
        End Select
        s3+ =s2 & s1
    Next
    
    s1 = "Select 班级, 科目,Max(成绩) As 最高分,Min(成绩) As 最低分,Roun d(Avg(成绩),1) 

As 平均分"  & s3
    SQL =s1 & " Fr om(" & SQL & ") Gr oup b y 班级,科目"
    
Dim q As new QueryBuilder
q.C
q.TableName = "自定义分数阶统计"
q.SelectString = SQL
q.Build
MainTable = Tables("自定义分数阶统计")

End If

外部数据源是sql数据源,已在使用中,不方便外传,
外部数据有近三十万条,可能是查询数据量太多造成的,
其实我只需要统计已加载的数据,不需要统计后台全部数据,

代码如何改为 只统计 已加载的成绩的分数段?谢谢!

[此贴子已经被作者于2016/6/10 21:10:44编辑过]

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/10 23:02:00 [只看该作者]

在红色地方写上你的条件,不会做,额外做个例子发上来。

 

s1 = "Select 班级, 科目,Max(成绩) As 最高分,Min(成绩) As 最低分,Roun d(Avg(成绩),1)  As 平均分"  & s3

SQL =s1 & " Fr om(" & SQL & ") where 条件 Group by 班级,科目"
[此贴子已经被作者于2016/6/10 23:02:24编辑过]

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2016/6/11 8:55:00 [只看该作者]

我是自定义用户管理,加载条件是根据用户角色判断,写在“确定”按钮里

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/11 14:14:00 [只看该作者]

 那条件是什么?合成以后,合并到sql语句里面去。

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


加好友 发短信
等级:四尾狐 帖子:803 积分:10727 威望:0 精华:1 注册:2008/9/2 18:58:00
  发帖心情 Post By:2016/6/11 18:15:00 [只看该作者]

已搞定

 回到顶部