以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  数据转换  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=92076)

--  作者:niu_niu
--  发布时间:2016/10/25 17:15:00
--  数据转换
表中数据都是文本型,如何将 A列  转换成 数值,进行计算呢?
--  作者:黄训良
--  发布时间:2016/10/25 17:33:00
--  
Dim i As Double
If Tables("表A").Current.IsNull("A列") = False
    i = CDbl(Tables("表A").Current("A列")) + 5
    msgbox(i)
Else
    msgbox("表中没填入数据!")
End If

--  作者:有点蓝
--  发布时间:2016/10/25 17:35:00
--  
参考:http://www.foxtable.com/webhelp/scr/1513.htm

如果经常需要计算,建议把列转换为数值型

--  作者:niu_niu
--  发布时间:2016/10/25 17:35:00
--  
需要统计整列中满足条件的数量和。
--  作者:niu_niu
--  发布时间:2016/10/25 17:36:00
--  
老师:为什么使用下列代码报错呢?

Dim sum As Integer
sum = DataTables("表A").Compute("Sum(Convert([第三列],\'System.Int32\'))")
output.Show(sum)

--  作者:有点蓝
--  发布时间:2016/10/25 17:42:00
--  
只能用sql语法,不支持表达式:http://www.foxtable.com/webhelp/scr/2897.htm

sum = DataTables("表A").sqlCompute("Sum(CAST([第三列] as int))")
--  作者:niu_niu
--  发布时间:2016/10/26 9:58:00
--  
老师,由于是查询表不可以使用sqlCompute。表中第三列表示数量,由于在表中是字符型,想计算这列中总和。

Dim Sum1 As Double = DataTables("报表统计_Table5").Compute("Sum(Convert([第五列],\'System.Int32\'))")  使用该语句报错。还请老师指教


--  作者:有点蓝
--  发布时间:2016/10/26 10:04:00
--  
6楼已经说明没有办法这样使用。

在生成查询表的时候就直接转换为数值

--  作者:niu_niu
--  发布时间:2016/10/26 10:35:00
--  
好的,谢谢