以文本方式查看主题

-  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=107485)

--  作者:13880283967
--  发布时间:2017/9/28 17:30:00
--  [求助]
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:顾客-中标-来料-入库.table


入库表
  日期  类型   描述   数量  
   2017-09-28 毛坯     A  10 
   2017-09-28 毛坯     B  10 
   2017-09-28 毛坯     A  20 
需要在库存表中体现
  序号  类型   描述   数量  
   库存-0001  毛坯   A  30 
   库存-0002  毛坯    B  10 

请老师帮忙处理一下,谢谢

--  作者:有点甜
--  发布时间:2017/9/28 17:39:00
--  

修改代码

 

Select Case e.DataCol.name
    Case "类型"
        If e.DataRow.IsNull("类型") = False AndAlso e.DataRow.IsNull("描述") = False Then
            Dim dr As DataRow
            If e.OldValue = Nothing Then
                dr = DataTables("库存").Find("类型 = \'" & e.NewValue & "\' and 描述 = \'" & e.DataRow("描述") & "\'")
            Else
                dr = DataTables("库存").Find("类型 = \'" & e.oldvalue & "\' and 描述 = \'" & e.DataRow("描述") & "\'")
            End If
            If dr Is Nothing Then
                dr = DataTables("库存").AddNew()
                dr("类型") = e.DataRow("类型")
                dr("描述") = e.DataRow("描述")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
            Else
                dr("类型") = e.DataRow("类型")
            End If
        End If
    Case "描述"
    Case "类型"
        If e.DataRow.IsNull("类型") = False AndAlso e.DataRow.IsNull("描述") = False Then
            Dim dr As DataRow
            If e.OldValue = Nothing Then
                dr = DataTables("库存").Find("类型 = \'" & e.DataRow("类型") & "\' and 描述 = \'" & e.NewValue & "\'")
            Else
                dr = DataTables("库存").Find("类型 = \'" & e.DataRow("类型") & "\' and 描述 = \'" & e.oldvalue & "\'")
            End If
            If dr Is Nothing Then
                dr = DataTables("库存").AddNew()
                dr("类型") = e.DataRow("类型")
                dr("描述") = e.DataRow("描述")
                dr("数量") = e.DataRow("数量")
                dr("单价") = e.DataRow("单价")
            Else
                dr("类型") = e.DataRow("类型")
            End If
        End If
    Case "描述","数量","单价"
        Dim dr As DataRow = DataTables("库存").Find("类型 = \'" & e.DataRow("类型") & "\' and 描述 = \'" & e.DataRow("描述") & "\'")
       
        If dr Is Nothing Then
            dr = DataTables("库存").AddNew()
            dr("类型") = e.DataRow("类型")
            dr("描述") = e.DataRow("描述")
        End If
        dr("单价") = e.DataRow("单价")
        dr("数量") = e.DataTable.Compute("sum(数量)","类型 = \'" & e.DataRow("类型") & "\' and 描述 = \'" & e.DataRow("描述") & "\'")
End Select