以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  看看这个公式怎么写,谢谢各位。  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=997)

--  作者:hbfnmxb
--  发布时间:2008/10/28 15:27:00
--  看看这个公式怎么写,谢谢各位。
其实对于狐表我一点都不懂,用易表做了一个近十万的数据,但它的速度太慢了,但用狐表我又不会,大家看看能不能帮帮我。
这是一个学生评教表,在教师成绩表中“总计结果”列是把各个项目的分数相加。这个我会。“教师总评”列中,是总评同一个教师的总评分。“教师排名”,只要是相同教师就是一个名次,第二个教师要从第二名开始,而不是分数相同的一个名次,第二个分数按并列开始(不按并列)
在“教师排名”表中“教师得分”引用教师成绩表中“教师总评”的结果,“教师排名”或引用教师成绩表中“教师排名”列,或用公式。大家看看这个能不能给我做一做。谢谢各位了。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:学生评教表.rar


--  作者:狐狸爸爸
--  发布时间:2008/10/28 16:10:00
--  
做了一个排序的:

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


剩下的自己做,用数据填充器即可,第二个表可以用临时表。
--  作者:狐狸爸爸
--  发布时间:2008/10/28 16:25:00
--  
第二个表用QueryBuilder直接生成查询表,效率更高。
--  作者:hbfnmxb
--  发布时间:2008/10/28 16:50:00
--  

看看哪里的问题,我在计算教师总计结果时出现的问题
公式是这样的

IsNull([你认为老师的教学态度_A工作热情高,关心、爱护学生],0) + IsNull([你认为老师的教学态度_B工作认真,对学生比较关心],0) + IsNull([你认为老师的教学态度_C工作不够认真,不关心学生],0) + IsNull([你认为老师创设的课堂情景_A  融洽、活跃而有序],0) + IsNull([你认为老师创设的课堂情景_B  秩序好,但比较死板],0) + IsNull([你认为老师创设的课堂情景_C  课堂秩序差],0) + IsNull([老师是否按时上下课,课准备是否充分_A  按时,很充分],0) + IsNull([老师是否按时上下课,课准备是否充分_B  基本按时,比较充分],0) + IsNull([老师是否按时上下课,课准备是否充分_C  迟到或拖堂次数多,课准备不充分],0) + IsNull([你认为老师对你进行的学习指导_A  能够经常进行指导,效果好],0) + IsNull([你认为老师对你进行的学习指导_B  能够进行指导,但效果一般],0) + IsNull([你认为老师对你进行的学习指导_C  很少指导],0) + IsNull([你在课堂上被提问的次数_A 较多],0) + IsNull([你在课堂上被提问的次数_B 较少],0) + IsNull([你在课堂上被提问的次数_C 很少],0) + IsNull([你在课堂上参与学习的情况_A  积极、主动地学习],0) + IsNull([你在课堂上参与学习的情况_B  较少主动地答问、提问或参与讨论],0) + IsNull([你在课堂上参与学习的情况_C  基本上不主动答问],0) + IsNull([你学习的效果及进步情况_A  很好;进步较快],0) + IsNull([你学习的效果及进步情况_B  一般;进步不大],0) + IsNull([你学习的效果及进步情况_C  较差;没有进步],0) + IsNull([老师布置与批改作业的情况_A  合理布置作业,作业量适中,批改认真,讲评及时。有预习作业,课堂作业当堂完成当堂讲评],0) + IsNull([老师布置与批改作业的情况_B  有时布置作业,有时有预习作业,作业量较重,批改比较认真,讲评比较及时,课堂作业完成、讲评较好],0) + IsNull([老师布置与批改作业的情况_C  作业不布置,作业量过重,批改不够认真,不及时讲评,课堂作业完成、讲评不好],0) + IsNull([你体会老师 对你的帮助_A 帮助很大],0) + IsNull([你体会老师 对你的帮助_B 帮助比较大],0) + IsNull([你体会老师 对你的帮助_C 帮助不大],0) + IsNull([你对老师教学水平的总体感受_A 水平很高],0) + IsNull([你对老师教学水平的总体感受_B 水平比较高],0) + IsNull([你对老师教学水平的总体感受_C 水平不高],0) + IsNull([你对班主任管理水平的总体感受_A 水平很高],0) + IsNull([你对班主任管理水平的总体感受_B 水平比较高],0) + IsNull([你对班主任管理水平的总体感受_C 水平不高],0)



结果出现了这个提示,不知是什么原因。


 


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

--  作者:狐狸爸爸
--  发布时间:2008/10/28 16:55:00
--  
检查列类型,数值型列全部改为双精度小数。
--  作者:hbfnmxb
--  发布时间:2008/10/28 16:58:00
--  
另外排名的公式也不是我要求的,我的要求不要并列名次,在您设计的这个表中,第62名应该是第2名。也就是说同一个教师就是一个名次,而非并列出现。
--  作者:smileboy
--  发布时间:2008/10/28 17:05:00
--  
With Tables("教师成绩表")
    .Sort = "教师总评 Desc"
    .Rows(0)("教师排名") = 1
    For i As integer = 1 To  .Rows.Count -1
        If .Rows(i)("教师总评") = .Rows(i - 1)("教师总评") Then
            .Rows(i)("教师排名") = .Rows(i - 1)("教师排名")
        Else
            .Rows(i)("教师排名") = .Rows(i - 1)("教师排名") + 1
        End If
        If i Mod 100 = 0 Then
            e.form.Controls("ProgressBar1").Value = i * 100 \\ (.rows.Count -1)
        End If
    Next
End With

--  作者:狐狸爸爸
--  发布时间:2008/10/28 17:09:00
--  
呵呵,感觉怪怪的,不过还是做了一下:

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


--  作者:hbfnmxb
--  发布时间:2008/10/28 17:17:00
--  
谢谢,
smileboy的也成功了。都谢谢了