以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教一段代码  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=83510)

--  作者:我来看看
--  发布时间:2016/4/11 12:21:00
--  [求助]请教一段代码

在统计演示中的成绩统计这段代码

 

Dim dr As DataRow = e.DataRow
Dim dt As DataTable =DataTables("学生成绩")
If e.DataCol.Name = "科目" And dr.IsNull("科目") = False Then
    dr("最高分") = dt.Compute("Max("  & dr("科目") & ")")
    dr("最低分") = dt.Compute("Min("  & dr("科目") & ")")
    dr("平均分") = dt.Compute("Avg("  & dr("科目") & ")")
    dr("分布_60分以下") = dt.Compute("Count(姓名)", dr("科目") & " < 60")
    dr("分布_60分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 60 And " & dr("科目") & " < 70" )
    dr("分布_70分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 70 And " & dr("科目") & " < 80" )
    dr("分布_80分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 80 And " & dr("科目") & " < 90" )
    dr("分布_90分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 90 And " & dr("科目") & " < 100" )
    dr("分布_100分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 100 And " & dr("科目") & " < 110" )
    dr("分布_110分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 110 And " & dr("科目") & " < 120" )
    dr("分布_120分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 120 And " & dr("科目") & " < 130" )
    dr("分布_130分以上") = dt.Compute("Count(姓名)", dr("科目") & " >= 130" )
End If

 

 

我现在不需要输入科目,而直接分段统计人数,那么上面这个代码如何修改呢???就是说我只需要显示不同的年龄段的人数

[此贴子已经被作者于2016/4/11 12:21:42编辑过]

--  作者:大红袍
--  发布时间:2016/4/11 14:29:00
--  

 不明白你的意图,你这个表难道就只需要一行数据?

 

 上传具体例子说明。


--  作者:我来看看
--  发布时间:2016/4/11 15:19:00
--  
不用例子,就是说我只需要按照年龄段统计职工人数就可以了,0-20,21-30,31-40……,然后我好制作统计图
--  作者:大红袍
--  发布时间:2016/4/11 15:21:00
--  

Dim dt As DataRow = DataTables("表A")

Dim c1 As Integer = dt.Compute("Count(姓名)",  "年龄 >= 0 and 年龄 <=20")

msgbox(c1)