以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]字符列转化到单精度列,去掉短号  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=136715)

--  作者:湛江智
--  发布时间:2019/6/19 18:12:00
--  [求助]字符列转化到单精度列,去掉短号
 网络环境下生成的编号  项目编号 (字符)列值1912-8863 ,怎么替换成19128863 在 项目折叠编号(单精度) 列呢?(删除 - 短号)


下面代码,
\'\'跨表引用的自动更新
If e.DataCol.Name = "项目编号" Then \'如果内容发生变动的是项目编号列
    If e.NewValue Is Nothing = False Then \'如果新值是空白,也就是项目编号列的内容为空
        If e.DataRow.IsNull("项目折叠编号") = True Then
            e.DataRow("项目折叠编号") = e.DataRow("项目编号")
            e.DataRow("项目折叠编号") = e.DataRow("项目编号").Replace("-","")
        End If
    End If
End If

报错如下:
.NET Framework 版本:2.0.50727.5420
Foxtable 版本:2018.7.9.1
错误所在事件:表,表A,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“12-8863”到类型“Single”的转换无效。
输入字符串的格式不正确。
[此贴子已经被作者于2019/6/19 18:13:55编辑过]

--  作者:有点甜
--  发布时间:2019/6/19 18:34:00
--  
If e.DataCol.Name = "项目编号" Then \'如果内容发生变动的是项目编号列
    If e.NewValue Is Nothing = False Then \'如果新值是空白,也就是项目编号列的内容为空
        If e.DataRow.IsNull("项目折叠编号") = True Then
            e.DataRow("项目折叠编号") = e.DataRow("项目编号").Replace("-","")
        End If
    End If
End If