有个代码没想明白,请老师指点一下。
上传的是表“出入库成本表",表中的生产入库单+成品仓的行,我从”入库成本表“中提取了”结存单价“
但表中的生产入库单+现场仓的行,如果我在代码这里加入生产入库单If dr("单据类型") = "退料单" OrElse dr("单据类型") = "领料单" OrElse dr("单据类型") = "出库单" OrElse dr("单据类型") = "入库单" OrElse dr("单据类型") = "调整单" OrElse dr("单据类型") = "调拨单" OrElse dr("单据类型") = "委外送料单" OrElse dr("单据类型") = "委外退料单" OrElse dr("单据类型") = "退货单" OrElse dr("单据类型") = "销货单" OrElse dr("单据类型") = "销退单" OrElse dr("单据类型") = "生产入库单" Then
前面
从”入库成本表“中提取了”结存单价“,就会给这个代码算出来的复盖。我用什么代码区分,”生产入库单+成品“ 及 ”生产入库单+现场仓“ 这两个条件并能提取到相应的”结存单价“
此主题相关图片如下:%2)na1jfx9qwf(ofub8kyy.png
?
Select Case e.DataCol.Name
Case "品号","单号"
Dim dr As DataRow = e.DataRow
Dim pr As DataRow
Dim filter1 As String
filter1 = "品号 = '" & dr("品号") & "' And 单号 = '" & dr("单号") & "' And 入库数量 = '" & dr("入库数量") & "'"
pr = DataTables("入库成本表").Find(filter1)
If pr IsNot Nothing Then
dr("结存单价") = pr("结存单价")
End If
End Select
msgbox(123)
Select Case e.DataCol.Name
Case "品号","单据类型", "单号"
Dim dr As DataRow = e.DataRow
If dr("单据类型") = "退料单" OrElse dr("单据类型") = "领料单" OrElse dr("单据类型") = "出库单" OrElse dr("单据类型") = "入库单" OrElse dr("单据类型") = "调整单" OrElse dr("单据类型") = "调拨单" OrElse dr("单据类型") = "委外送料单" OrElse dr("单据类型") = "委外退料单" OrElse dr("单据类型") = "退货单" OrElse dr("单据类型") = "销货单" OrElse dr("单据类型") = "销退单" Then
Dim pr = DataTables("出入库成本表").Find("品号 = '" & dr("品号") & "' and _Identify < " & dr("_Identify"), "_Identify desc")
If pr IsNot Nothing Then
dr("结存单价") = pr("结存单价")
End If
End If
End Select