以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  求助:Compute多个条件如何设定  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=3970)

--  作者:ia928
--  发布时间:2009/8/21 9:57:00
--  求助:Compute多个条件如何设定
有两个表“派车单明细”,“订单明细”通过“派车单ID”列关联
要求“订单明细”表中的“数量”变化时,能在“派车单明细”表中“销售核销”列中计算出订单明细表中同ID号同产品的合计数量

If e.DataCol.Name = "数量"
    Dim drs As List(Of DataRow) = DataTables("派车明细表").Select("[派车单ID] = \'" & e.DataRow("派车单ID") & "\'") 
    For Each dr As DataRow In drs
        dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = \'" & e.DataRow("产品名称") & "\'" and "[派车单ID] = \'" & e.DataRow("派车单ID") & "\'")
    Next
End If
上述代码加红色部分后执行提示错误,删除可以,但又不符合同ID、同产品名称的两个条件,代码如何修改呢?

--  作者:狐狸爸爸
--  发布时间:2009/8/21 10:00:00
--  
这个根本就不用代码,一个简单的表达式就可以,请参考帮助:

应用篇 - 表达式


如果你是通过按钮计算的:


dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = \'" & e.DataRow("产品名称") & "\' and [派车单ID] = \'" & e.DataRow("派车单ID") & "\'")


--  作者:ia928
--  发布时间:2009/8/21 12:47:00
--  
以下是引用狐狸爸爸在2009-8-21 10:00:00的发言:
这个根本就不用代码,一个简单的表达式就可以,请参考帮助:

应用篇 - 表达式


如果你是通过按钮计算的:


dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = \'" & e.DataRow("产品名称") & "\' and [派车单ID] = \'" & e.DataRow("派车单ID") & "\'")

狐爸,上述按钮代码执行后还是没有实现同ID号、不同产品,销售核销数量分别统计的效果



--  作者:狐狸爸爸
--  发布时间:2009/8/21 12:53:00
--  



If e.DataCol.Name = "数量"
    Dim drs As List(Of DataRow) = DataTables("派车明细表").Select("[派车单ID] = \'" & e.DataRow("派车单ID") & "\'") 
    For Each dr As DataRow In drs
        dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = \'" & dr("产品名称") & "\' and [派车单ID] = \'" & dr("派车单ID") & "\'")
    Next
End If


--  作者:ia928
--  发布时间:2009/8/21 12:56:00
--  
区别在e. 和dr,产生不同的统计效果,谢谢狐爸!