有两个表“派车单明细”,“订单明细”通过“派车单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、同产品名称的两个条件,代码如何修改呢?
这个根本就不用代码,一个简单的表达式就可以,请参考帮助:
应用篇 - 表达式
如果你是通过按钮计算的:
dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = '" & e.DataRow("产品名称") & "' and [派车单ID] = '" & e.DataRow("派车单ID") & "'")
以下是引用狐狸爸爸在2009-8-21 10:00:00的发言:
这个根本就不用代码,一个简单的表达式就可以,请参考帮助:
应用篇 - 表达式
如果你是通过按钮计算的:
dr("销售核销") = DataTables("订单明细").Compute("sum(数量)" ,"[产品名称] = '" & e.DataRow("产品名称") & "' and [派车单ID] = '" & e.DataRow("派车单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(数量)" ,"[产品名称] = '" & dr("产品名称") & "' and [派车单ID] = '" & dr("派车单ID") & "'")
Next
End If
区别在e. 和dr,产生不同的统计效果,谢谢狐爸!