以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]麻烦帮我查一下是什么问题,谢谢!  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=55177)

--  作者:rophy0952
--  发布时间:2014/8/12 12:04:00
--  [求助]麻烦帮我查一下是什么问题,谢谢!
字段已设置双精度小数,但执行代码时出现“字符串转换double时无效”,请问是什么原因呢?
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb



--  作者:有点甜
--  发布时间:2014/8/12 12:07:00
--  
 怎么测试
--  作者:有点甜
--  发布时间:2014/8/12 12:09:00
--  

If e.DataCol.Name = "规格" Then
    If e.DataRow.Isnull("规格") = True Then
        e.DataRow("卷芯宽度") = Nothing
    Else
        e.DataRow("卷芯宽度") = e.DataRow("规格").Split("*")(1)
    End If
End If


If e.DataCol.Name = "流水号" Then
    Dim r As Row = Tables("核数表").Current
    Dim dr As DataRow = DataTables("成品检验记录表").find("流水号 = \'" & r("流水号") & "\'")
    Dim dr1 As DataRow = DataTables("蒸镀工票信息").find("流水号 = \'" & r("流水号") & "\'")
    r("生产单号") = dr("生产单号")
    r("物料代码") = dr("物料代码")
    r("型号") = dr("型号")
    r("规格") = dr("规格")
    r("一等品_只数") = DataTables("成品检验记录表").Compute("Sum(一等品只数)","流水号 = \'" & r("流水号") & "\'")
    r("不良品_只数") = DataTables("成品检验记录表").Compute("Sum(不良品只数)","流水号 = \'" & r("流水号") & "\'")
    r("蒸镀不良_只数") = DataTables("成品检验记录表").Compute("Sum(蒸镀不良只数)","流水号 = \'" & r("流水号") & "\'")
    r("分切不良_只数") = DataTables("成品检验记录表").Compute("Sum(分切不良只数)","流水号 = \'" & r("流水号") & "\'")
    r("基膜不良_只数") = DataTables("成品检验记录表").Compute("Sum(基膜不良只数)","流水号 = \'" & r("流水号") & "\'")
    r("设备不良_只数") = DataTables("成品检验记录表").Compute("Sum(设备不良只数)","流水号 = \'" & r("流水号") & "\'")
    r("基膜净重") = dr1("基膜净重")
End If

Select Case e.DataCol.Name
    Case "卷芯单重","一等品_毛重","一等品_只数","不良品_毛重","不良品_只数"
        Dim dr2 As DataRow = e.DataRow
        dr2("一等品_净重") = dr2("一等品_毛重") - dr2("卷芯单重") * dr2("一等品_只数")
        dr2("不良品_净重") = dr2("不良品_毛重") - dr2("卷芯单重") * dr2("不良品_只数")
End Select

Select Case e.DataCol.name
    Case "不良品_只数","不良品_净重","蒸镀不良_只数","分切不良_只数","设备不良_只数","基膜不良_只数","基膜净重"
        Dim dr As DataRow = e.DataRow
        dr("蒸镀不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("蒸镀不良_只数")
        dr("分切不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("分切不良_只数")
        dr("基膜不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("基膜不良_只数")
        dr("设备不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("设备不良_只数")
        dr("基膜不良_占比") = dr("基膜不良_净重")/dr("基膜净重")
        dr("设备不良_占比") = dr("设备不良_净重")/dr("基膜净重")
End Select

Select Case e.DataCol.Name
    Case "卷芯种类","卷芯宽度"
        Dim dr1 As DataRow = e.DataRow
        Dim pr As DataRow
        If dr1.IsNull("卷芯种类") OrElse dr1.IsNull("卷芯宽度")  Then
            dr1("卷芯单重") = Nothing
        Else
            Dim filter As String
            filter = "卷芯种类 = \'" & e.DataRow("卷芯种类") & "\' And 卷芯宽度 = \'" & e.DataRow("卷芯宽度") & "\'"
            pr = DataTables("卷芯标准表").Find(filter)
            If pr IsNot Nothing Then
                dr1("卷芯单重") = pr("卷芯单重")
            Else
                MessageBox.show("无此卷芯标准,请先录入卷芯标准!","提示")
            End If
        End If
End Select

Select Case e.DataCol.name
    Case "基膜净重","一等品_净重"
        Dim dr As DataRow = e.DataRow
        dr("一等品率") = dr("一等品_净重") / dr("基膜净重")
End Select


--  作者:rophy0952
--  发布时间:2014/8/12 12:10:00
--  
重置“不良品_净重”列
--  作者:有点甜
--  发布时间:2014/8/12 12:10:00
--  
        dr("蒸镀不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("蒸镀不良_只数")
        dr("分切不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("分切不良_只数")
        dr("基膜不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("基膜不良_只数")
        dr("设备不良_净重") = dr("不良品_净重")/dr("不良品_只数") * dr("设备不良_只数")
--  作者:rophy0952
--  发布时间:2014/8/12 12:13:00
--  
这里有什么问题吗?
--  作者:rophy0952
--  发布时间:2014/8/12 12:16:00
--  
我”蒸镀不良_只数“,已经设为双精度小数了呀?
--  作者:rophy0952
--  发布时间:2014/8/12 13:12:00
--  
请问是哪里不对呢?

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


--  作者:有点甜
--  发布时间:2014/8/12 14:12:00
--  
 请看3楼,红色代码,不知道的话,就直接拷贝代码进去。
--  作者:rophy0952
--  发布时间:2014/8/12 14:16:00
--  
哦,太马虎了,看了好几遍也没看到问题出来。