以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  已发货数量超过订货数量报错  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=98858)

--  作者:luckbetter333
--  发布时间:2017/4/8 10:22:00
--  已发货数量超过订货数量报错
如题,已发货数量是根据销售合同编码和产品编码对应的发货数量自动汇总计算,但是现在没超订货数量就报错。请帮忙看看哪里的问题。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:发货.rar


--  作者:有点蓝
--  发布时间:2017/4/8 10:53:00
--  
Select Case e.DataCol.Name
    Case "订货数量","已发货数量"
        e.DataRow("未发货数量")= e.DataRow("订货数量")-e.DataRow("已发货数量")
    Case "发货数量","单价"
        e.DataRow("发货金额")= e.DataRow("单价")*e.DataRow("发货数量")
    Case "销售合同编码","产品编码"
        Dim Filter2 As String = "[产品编码] = \'" & e.DataRow("产品编码") & "\' and [销售合同编码] = \'" & e.DataRow("销售合同编码") & "\'"
        
        e.DataRow("已发货数量") = DataTables("发货明细表").Compute("Sum(发货数量)", Filter2)
End Select


Select Case e.DataCol.name
    Case "发货数量","订货数量","已发货数量"
        If e.DataRow.IsNull("已发货数量") = False AndAlso e.DataRow("已发货数量") > e.DataRow("订货数量")
            MessageBox.Show("总发货数量已超过订货数量!")
            e.DataRow(e.DataCol.name) = e.OldValue
        End If
        
        If e.DataRow.IsNull("已发货数量") = True AndAlso e.DataRow("发货数量")> e.DataRow("订货数量")
            MessageBox.Show("发货数量已超过订货数量!")
            e.DataRow(e.DataCol.name) = e.OldValue
        End If
End Select