以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]统计表新增列,赋值时列类型报错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=179742)

--  作者:天一生水
--  发布时间:2022/9/6 20:49:00
--  [求助]统计表新增列,赋值时列类型报错
老师好!
下列代码运行报错如下图,是什么原因?
...
    Dim b As New CrossTableBuilder("统计表1", DataTables("月度量化积分考核"))
    b.HGroups.AddDef("姓名") \'添加水平分组
    b.VGroups.AddDef("月度") \'添加垂直分组    
    b.Totals.AddDef("总分")
    b.Filter = "年度 = \'" & e.Form.Controls("ComboBox1").Value & "\' And 季度 = \'" & e.Form.Controls("ComboBox2").Value & "\'" 
    Tables("季度积分考核公示_Table1").DataSource = b.BuildDataSource()
    
    \'新增列
    Tables("季度积分考核公示_Table1").DataTable.DataCols.Add("总分", GetType(Double))
    Tables("季度积分考核公示_Table1").DataTable.DataCols.Add("平均分", GetType(Double))
    
    \'赋值
    For Each r As Row In Tables("季度积分考核公示_Table1").Rows
        If Tables("季度积分考核公示_Table1").Cols.Count = 3 Then \'无月份数据列
            r("总分") = 0 
        ElseIf Tables("季度积分考核公示_Table1").Cols.Count = 4 Then \'有1个月份数据列
            r("总分") = ("总分_1")
        ElseIf Tables("季度积分考核公示_Table1").Cols.Count = 5 Then \'有2个月份数据列
            r("总分") = ("总分_1") + r("总分_2") 
        ElseIf Tables("季度积分考核公示_Table1").Cols.Count = 6 Then \'有3个月份数据列
            r("总分") = ("总分_1") + r("总分_2") + r("总分_3")
        End If
        r("平均分") = r("总分") / 3 
    Next 
...

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计测试.foxdb



--  作者:有点蓝
--  发布时间:2022/9/6 21:10:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:统计测试.zip


--  作者:天一生水
--  发布时间:2022/9/6 21:22:00
--  
谢谢蓝老师!