以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=94594)

--  作者:bbgg945
--  发布时间:2016/12/27 17:00:00
--  [求助]

老师!请问如何实现在项目材料表的已发数量列中

实时统计出库表中对应的(项目,部门,物料名称)所有实发数量

If e.DataCol.Name = "实发数量"
    Dim drs As List(Of DataRow) = DataTables("项目材料").Select("[工程项目] = \'" & e.DataRow("工程项目") & "\'")
    For Each dr As DataRow In drs
        dr("已发数量") = DataTables("出库").Compute("sum(实发数量)" ,"[物料名称] = \'" & dr("物料名称") & "\' and [工程项目] = \'" & dr("工程项目") & "\'")
    Next
End If

我套用的这段代码没有结果,请老师帮忙看下应该怎么写代码?


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

图片点击可在新窗口打开查看此主题相关图片如下:qq图片20161227164958.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:表.zip


--  作者:有点色
--  发布时间:2016/12/27 17:32:00
--  

你1楼的代码,写到出库表的datacolchanged事件,才有用的。


--  作者:bbgg945
--  发布时间:2016/12/27 20:14:00
--  


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

老师!改了还是没效果呀


--  作者:有点蓝
--  发布时间:2016/12/27 20:57:00
--  
项目材料表,datacolchanged事件

Select Case e.DataCol.Name
    Case "物料名称","工程项目"
        e.DataRow("已发数量") = DataTables("出库").Compute("sum(实发数量)" ,"[物料名称] = \'" &  e.DataRow("物料名称") & "\' and [工程项目] = \'" &  e.DataRow("工程项目") & "\'")
End Select

重置一下物料名称列
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2016/12/27 21:01:00
--  
出库表的datacolchanged事件

Select Case e.DataCol.Name
    Case "实发数量","物料名称","工程项目"
        Dim dr As DataRow
        dr = DataTables("项目材料").Find("[物料名称] = \'" &  e.DataRow("物料名称") & "\' and [工程项目] = \'" &  e.DataRow("工程项目") & "\'")
        If dr IsNot Nothing
            dr("已发数量") = e.DataTable.Compute("sum(实发数量)" ,"[物料名称] = \'" &  e.DataRow("物料名称") & "\' and [工程项目] = \'" &  e.DataRow("工程项目") & "\'")
        End If
End Select

--  作者:bbgg945
--  发布时间:2016/12/27 22:22:00
--  
成功了!非常感谢老师的帮助!图片点击可在新窗口打开查看