以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求动态百分制生成代码 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178010) |
||||
-- 作者:min-fox -- 发布时间:2022/6/14 21:39:00 -- 求动态百分制生成代码 每项指标得分为1分,共120指标,满分120分,最后总得分换算成100分的公式是=总得分*(sum("得分")*100/120,考虑到用户指标分类会动态增减,把分母120动态化改成如下代码生成 AA Dim AA As String = e.Table.DataTable.Compute("COUNT(指标分类)", "单位名称=\'" & e.Table.Current ("单位名称") & "\'") 在CurrentChanged事件的代码 Dim AA As String = e.Table.DataTable.Compute("COUNT(指标分类)", "单位名称=\'" & e.Table.Current ("单位名称") & "\'") If e.Table.Current IsNot Nothing Then If Forms("窗口1").Opened Then Forms("窗口1").Controls("Label1").text = e.Table.Current ("单位名称") & "评审得分:" & e.Table.DataTable.Compute("sum(得分)*100/AA", "单位名称=\'" & e.Table.Current ("单位名称") & "\'") End If End If 结果在“窗口1”中点击Table1,报错“找不到AA列”
|
||||
-- 作者:有点蓝 -- 发布时间:2022/6/14 21:50:00 -- 多看几遍:http://www.foxtable.com/webhelp/topics/1284.htm Forms("窗口1").Controls("Label1").text = e.Table.Current ("单位名称") & "评审得分:" & e.Table.DataTable.Compute("sum(得分)*100/" & AA, "单位名称=\'" & e.Table.Current ("单位名称") & "\'")
|
||||
-- 作者:min-fox -- 发布时间:2022/6/14 22:44:00 -- 这样得出的值不对啊 |
||||
-- 作者:有点蓝 -- 发布时间:2022/6/14 22:57:00 -- Forms("窗口1").Controls("Label1").text = e.Table.Current ("单位名称") & "评审得分:" & (e.Table.DataTable.Compute("sum(得分)", "单位名称=\'" & e.Table.Current ("单位名称") & "\'") * 100 / AA) |
||||
-- 作者:min-fox -- 发布时间:2022/6/14 23:11:00 -- 值还是不对,把AA换成具体数值,比如120,就可算出来 |
||||
-- 作者:有点蓝 -- 发布时间:2022/6/14 23:17:00 -- 说明这个单位下的指标没有这么多 Dim AA As String = e.Table.DataTable.Compute("COUNT(指标分类)", "单位名称=\'" & e.Table.Current ("单位名称") & "\'") msgbox(AA)
|
||||
-- 作者:min-fox -- 发布时间:2022/6/14 23:23:00 -- 我测过了,把实例发给您看看
|
||||
-- 作者:min-fox -- 发布时间:2022/6/14 23:31:00 -- 搞清楚了,知道问题出差哪里了 |