以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  下列代码统计的结果怎么与我实际的要求有出入  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6697)

--  作者:lpxjw_zyl
--  发布时间:2010/4/21 9:57:00
--  下列代码统计的结果怎么与我实际的要求有出入

if e.DataCol.Name = "单位" then
    dim dr as datarow = DataTables("学籍注册").Find("[单位] = \'" & e.datarow("单位") & "\'")
    if dr isnot nothing then
        e.datarow("毕业人数") = dr("毕业人数")
    else
        e.datarow("毕业人数") = nothing
    end if
    dim bys as Integer = DataTables("tja").Compute("Sum(毕业人数)")
    dim syzx as Integer = DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'实验中学\'")
    dim pjzx as Integer = DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'屏锦中学\'")
    dim yyzx as Integer = DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'袁驿中学\'")
    dim flzx as Integer = DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'福禄中学\'")
    if e.datarow("高中招生学校") = "实验中学" then
        e.datarow("实验中学") = 170 / syzx * e.datarow("毕业人数")
    elseif e.datarow("高中招生学校") = "屏锦中学" then
        e.datarow("屏锦中学") = 270 / pjzx * e.datarow("毕业人数")
    elseif e.datarow("高中招生学校") = "袁驿中学" then
        e.datarow("袁驿中学") = 120 / yyzx * e.datarow("毕业人数")
    elseif e.datarow("高中招生学校") = "福禄中学" then
        e.datarow("福禄中学") = 120 / flzx * e.datarow("毕业人数")
      end if
end if

--  作者:狐狸爸爸
--  发布时间:2010/4/21 10:07:00
--  
用例子说话
--  作者:lpxjw_zyl
--  发布时间:2010/4/21 10:10:00
--  
for each dr as datarow in datatables("tja").datarows
    dim di as datarow = DataTables("学籍注册").Find("[单位] = \'" & dr("单位") & "\'")
    if di isnot nothing then
        dr("毕业人数") = di("毕业人数")
    else
        dr("毕业人数") = nothing
    end if
    dim bys as Double = DataTables("tja").Compute("Sum(毕业人数)")
    dim syzx as Double = 170 / DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'实验中学\'")
    dim pjzx as Double = 270 / DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'屏锦中学\'")
    dim yyzx as Double = 120 / DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'袁驿中学\'")
    dim flzx as Double = 120 / DataTables("tja").Compute("Sum(毕业人数)", "[高中招生学校] = \'福禄中学\'")
    if dr("高中招生学校") = "实验中学" then
        dr("实验中学") = syzx * dr("毕业人数")
    elseif dr("高中招生学校") = "屏锦中学" then
        dr("屏锦中学") = pjzx * dr("毕业人数")
    elseif dr("高中招生学校") = "袁驿中学" then
        dr("袁驿中学") =  yyzx * dr("毕业人数")
    elseif dr("高中招生学校") = "福禄中学" then
        dr("福禄中学") = flzx * dr("毕业人数")
    end if
    dr("梁平中学") = 630 / bys * dr("毕业人数")
    dr("红旗中学") = 560 / bys * dr("毕业人数")
    dr("第一中学") = 350 / bys * dr("毕业人数")
next

这个代码放命令窗口与窗口设计中统计的结果不一样。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:指标分配及送生名额.rar


--  作者:lpxjw_zyl
--  发布时间:2010/4/21 10:10:00
--  
请老六检查一下是怎么回事
--  作者:狐狸爸爸
--  发布时间:2010/4/21 10:34:00
--  
我没看出有啥不同
--  作者:lpxjw_zyl
--  发布时间:2010/4/21 10:56:00
--  
你看结果
--  作者:lpxjw_zyl
--  发布时间:2010/4/21 11:07:00
--  
狐你你看看两次统计的结果,前几个单位,你可以对比一下
--  作者:狐狸爸爸
--  发布时间:2010/4/21 11:10:00
--  
我看了的