以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  从字符串“”到类型“Double”的转换无效  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=148271)

--  作者:edisontsui
--  发布时间:2020/4/3 16:04:00
--  从字符串“”到类型“Double”的转换无效
Select Case e.DataCol.name
    Case "操作员","星期","周","制造号"
        Dim d1 As Date = e.DataRow("生产日期")
        Dim y1 As Integer = d1.year \'取得今年的年份  
        Dim y2 As String = Cstr(y1) \'将数字转化为字符串
        If y2.length > 3 
         Dim y3 As String = y2.substring(2,2)
            If e.DataRow("周") < 10 
                e.DataRow("批号") = e.DataRow("制造号") & y3 & "0" & Cstr(e.DataRow("周")) & Cstr(e.DataRow("星期")) & e.DataRow("操作员")
            Else
                e.DataRow("批号") = e.DataRow("制造号") & y3 & Cstr(e.DataRow("周")) & Cstr(e.DataRow("星期")) & e.DataRow("操作员")
            End If
        End If 
End Select

上面那段代码会出现如下警告,请问是哪里的问题?谢谢。

错误所在事件:表,JPK612任务单,DataColChanged
详细错误信息:
调用的目标发生了异常。
从字符串“”到类型“Double”的转换无效。
输入字符串的格式不正确。

--  作者:有点蓝
--  发布时间:2020/4/3 16:14:00
--  
错误所在事件:表,JPK612任务单,DataColChanged只有这些代码吗?

试试
Select Case e.DataCol.name
    Case "操作员","星期","周","制造号","生产日期"
        Dim y3 As String = Format(e.DataRow("生产日期"),"yy")
        e.DataRow("批号") = e.DataRow("制造号") & y3 & Format(e.DataRow("周"),"00") & e.DataRow("星期") & e.DataRow("操作员")
End Select