以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  字符转换为日期类型无效  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=174685)

--  作者:爱相随
--  发布时间:2022/1/26 12:34:00
--  字符转换为日期类型无效
老师,下面代码无效,请指导

Dim s As String = e.DataRow("供应商入库时间")
If e.DataCol.Name = "供应商入库时间" Then
    If e.DataRow.IsNull("供应商入库时间") Then
        e.DataRow("供应商入库时间") = " "
    Else
        e.DataRow("供应商入库时间") = Cdate("供应商入库时间")
    End If
End If

执行的提示:
Foxtable 版本:2017.10.26.1
错误所在事件:表,B2B, DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“供应商入库时间”到类型“Date”的转换无效。

--  作者:有点蓝
--  发布时间:2022/1/26 13:32:00
--  
这个代码没有任何用处,需要实现什么功能?
--  作者:爱相随
--  发布时间:2022/1/26 14:17:00
--  
"供应商入库时间" 这一列是字符型列,数值为日期时间,如20211127 12:12:50,想把它转换为日期时间:2021-11-27  12:12:50
--  作者:有点蓝
--  发布时间:2022/1/26 14:23:00
--  
Dim s As String = e.DataRow("供应商入库时间")
If e.DataCol.Name = "供应商入库时间" Then
    If e.DataRow.IsNull("供应商入库时间") Then
        e.DataRow("供应商入库时间") = " "
    Else
dim d as date
if date.tryparse(e.DataRow("供应商入库时间"),d) = false andalso s.contains("-") = false then
        e.DataRow("供应商入库时间") = s.Insert(6,"-").Insert(4,"-")
end if
    End If
End If