Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共9 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:班级平均分如何计算

1楼
老有所乐 发表于:2008/12/2 23:44:00
“上报教育局成绩表”中的[班级平均分]列是从“学生各科成绩表”中按年级、学科统计班级的平均分,请教该计算代码如何写?谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生成绩统计分析表.table

2楼
czy 发表于:2008/12/3 0:27:00
DataColChanged事件代码

If e.DataCol.Name = "学科" Then
    If e.NewValue Is Nothing Then
        e.DataRow("班级平均分") = Nothing
    Else
        Dim Avg As Single = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[班级] = '" & e.Datarow("班级") & "' And [年级] = '" & e.DataRow("年级") & "'" ),1)
        if Avg > 0 then
            e.DataRow("班级平均分") = Avg
        End if
    End If
End If
[此贴子已经被作者于2008-12-3 0:29:06编辑过]
3楼
czy 发表于:2008/12/3 0:34:00
年级和班级两列的平均分

If e.DataCol.Name = "学科" Then
    If e.NewValue Is Nothing Then
        e.DataRow("年级平均分") = Nothing
        e.DataRow("班级平均分") = Nothing
    Else
        Dim Avg As Single = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[班级] = '" & e.Datarow("班级") & "' And [年级] = '" & e.DataRow("年级") & "'"),1)
        if Avg > 0 then
            e.DataRow("班级平均分") = Avg
            e.DataRow("年级平均分") = Math.Round(DataTables("学生各科成绩表").Compute("Avg(" & e.DataRow("学科") & ")","[年级] = '" & e.Datarow("年级") & "'"),1)
        End if
    End If
End If
4楼
老有所乐 发表于:2008/12/3 7:05:00

非常感谢C版主深夜解答!

5楼
老有所乐 发表于:2008/12/4 7:47:00

请教C版主2、3楼的代码可否改成按钮公式,如可改应如何改?谢谢!

6楼
老有所乐 发表于:2008/12/4 16:08:00
顶一下
7楼
gdtgl 发表于:2008/12/4 19:57:00

图片点击可在新窗口打开查看此主题相关图片如下:snap1.jpg
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:snap2.jpg
图片点击可在新窗口打开查看


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

8楼
gdtgl 发表于:2008/12/4 20:03:00
'在"上报教育局成绩表"这个表中生成各个年级的各个班每一科的行
for i as integer  = 0 to tables("学科").rows.count -1
   Dim lianjis As List(Of String)
   lianjis = DataTables("学生各科成绩表").GetUniqueValues("", "年级") '取所有的年级
       For Each lj As String In lianjis
       Dim bianji As List(Of String)
       bianji = DataTables("学生各科成绩表").GetUniqueValues("", "班级") '取所有的班级
             For Each bian As String In bianji
                 Dim dr As DataRow = DataTables("上报教育局成绩表").AddNew()
                     dr("年级") = lj '在年级列中写入年级值
                     dr("班级") = bian
                     dr("学科") = tables("学科").rows(i)("学科") '在学科列中写入语文,数学等等
             next
        Next
Next

'重算"班级平均分"中的计算代码
DataTables("上报教育局成绩表").DataCols("班级平均分").Recalc()
[此贴子已经被作者于2008-12-4 20:13:25编辑过]
9楼
老有所乐 发表于:2008/12/4 22:20:00
谢谢gdtgl兄弟!你设计的比我想要的更好。
共9 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .03516 s, 4 queries.