以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]如何修改代码?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=53556)

--  作者:lpedu_jks
--  发布时间:2014/7/10 15:19:00
--  [求助]如何修改代码?
要求单选1-8题的得分和,如何修改这段代码?请指教。谢谢!
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小学初中问卷调查统计.rar

dr("1-8题得分") =         ((dr(XX &"A人")*kdr("A") + dr(XX &"B人")* kdr("B")  + dr(XX &"C人")* kdr("C")  + dr(XX &"D人")* kdr("D") ) )/dr("调查人数")

就是下面代码的简化:
dr("1-8题得分") = ((dr("单选1A人")*1 + dr("单选1B人")*2 + dr("单选1C人")*3 + dr("单选1D人")*5) + (dr("单选2A人")*5 + dr("单选2B人")*4 + dr("单选2C人")*2 + dr("单选2D人")*1) + (dr("单选3A人")*1 + dr("单选3B人")*2 + dr("单选3C人")*3 + dr("单选3D人")*5) + (dr("单选4A人")*1 + dr("单选4B人")*5 + dr("单选4C人")*2 + dr("单选4D人")*2) + (dr("单选5A人")*2 + dr("单选5B人")*5 + dr("单选5C人")*4 + dr("单选5D人")*1) + (dr("单选6A人")*1 + dr("单选6B人")*1 + dr("单选6C人")*2 + dr("单选6D人")*5) + (dr("单选7A人")*1 +  dr("单选7B人")*2 + dr("单选7C人")*4 + dr("单选7D人")*5) + (dr("单选8A人")*5 + dr("单选8B人")*4 + dr("单选8C人")*2 + dr("单选8D人")*1))/dr("调查人数")
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:初中问卷调查统计表.xls



[此贴子已经被作者于2014-7-10 15:23:58编辑过]

--  作者:有点甜
--  发布时间:2014/7/10 15:30:00
--  

 图片点击可在新窗口打开查看   dr("1-8题得分") += ((dr(XX &"A人")*kdr("A") + dr(XX &"B人")* kdr("B")  + dr(XX &"C人")* kdr("C")  + dr(XX &"D人")* kdr("D") ) )


--  作者:lpedu_jks
--  发布时间:2014/7/10 15:37:00
--  
For i As Integer = 1 To 19
        Dim XXs() As String = {"单选"& i }
        For Each XX As String In XXs

Dim kdr As DataRow = DataTables("分值").Find("部别 = \'初中\' And 题号 = \'" & XX & "\'")

dr(XX &"A人")代替dr("单选1A人")、dr("单选2A人")、dr("单选3A人")、dr("单选4A人")…
 dr(XX &"B人")代替dr("单选1B人")、dr("单选BA人")、dr("单选4B人")、dr("单选4B人")…
kdr("A")、kdr("B")、kdr("C")、kdr("D")代替分值

--  作者:有点甜
--  发布时间:2014/7/10 15:42:00
--  

 3楼什么意思?直接列加不就行了?有什么问题?、

 

dr("1-8题得分") += ((dr(XX &"A人")*kdr("A") + dr(XX &"B人")* kdr("B")  + dr(XX &"C人")* kdr("C")  + dr(XX &"D人")* kdr("D") ) )


--  作者:lpedu_jks
--  发布时间:2014/7/10 17:01:00
--  
搞定。谢谢!