以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  列的转换  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=100677)

--  作者:yytx1106
--  发布时间:2017/5/16 12:31:00
--  列的转换
老师好,我想把字符列的那一列,转换成数字型,怎么转换,谢谢。

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


--  作者:wyz20130512
--  发布时间:2017/5/16 13:29:00
--  
更改列的属性即可!
--  作者:有点色
--  发布时间:2017/5/16 14:12:00
--  

 直接更改列

 

http://www.foxtable.com/webhelp/scr/0036.htm

 


--  作者:yytx1106
--  发布时间:2017/5/16 14:37:00
--  
如何用公式改呢,,因为我这个是关联的表。
--  作者:有点色
--  发布时间:2017/5/16 14:45:00
--  
以下是引用yytx1106在2017/5/16 14:37:00的发言:
如何用公式改呢,,因为我这个是关联的表。

 

列类型,不能像你那样改。


--  作者:有点色
--  发布时间:2017/5/16 14:47:00
--  

如果要改,可以用 Convert(进价1, \'System.Double\')

 

或者直接说,你想做什么功能?为什么要改?


--  作者:yytx1106
--  发布时间:2017/5/16 15:09:00
--  

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

原来进价列是字符型,里面有时会出现文字,我作了关联后,想算成本,无法计算。所以要把这个列转换成数字型。有文字的部份,不显示。
我现在想把这列直接改成数字型,又改不了。提示,标准表达式中数据类型不匹配。修改 进价  列类型失败,现有数据可能无法转换为新的类型,
[此贴子已经被作者于2017/5/16 15:11:14编辑过]

--  作者:有点蓝
--  发布时间:2017/5/16 16:35:00
--  
这个表达式做不来。只能用代码转换。把进阶改为数据列

Select Case e.DataCol.Name
    Case "进阶1"
        e.DataRow("进阶") = val(e.DataRow("进阶1"))
End Select

--  作者:有点色
--  发布时间:2017/5/16 16:59:00
--  

 8楼的代码写到datacolchanged事件去

 

http://www.foxtable.com/webhelp/scr/1445.htm

 


--  作者:yytx1106
--  发布时间:2017/5/16 19:06:00
--  
谢谢,已经解决。我用的更改列。