Foxtable(狐表)用户栏目专家坐堂 → 类似于sumproduct函数,求助


  共有1781人关注过本帖树形打印复制链接

主题:类似于sumproduct函数,求助

帅哥哟,离线,有人找我吗?
yizehong
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:2 积分:81 威望:0 精华:0 注册:2017/5/2 11:00:00
类似于sumproduct函数,求助  发帖心情 Post By:2017/5/2 11:11:00 [只看该作者]

老师,您好,我一订单里假设有10个产品编码,同时对应数量1-数量10,其中单价要跨表查询,要求每个订单成本该如何编写?

我编写的如下代码,不知道错在哪里,只会保存最后一次满足条件的值,不会累加?

 

 

Dim i  As Integer
For i = 1 To 10
    Dim dr As DataRow = e.DataRow
    Dim sk As String="SKU"&i
    Dim sn As String="数量"&i
    Dim cb  As Integer
    Dim sum  As Integer
   
    If  dr(sk) Is Nothing Then
        Exit For
    Else
        Select Case e.DataCol.Name
            Case sk
                dr = DataTables("单价表").Find("[货品编码] = '" & e.NewValue & "'")
                If dr  IsNot Nothing Then
                    cb=dr("单价")*e.DataRow(sn)
                    sum=sum+cb
                    e.DataRow("订单成本")=sum
                End If
               
               
        End Select
    End If
   
Next


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110608 积分:562942 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/2 12:00:00 [只看该作者]

If  e.DataCol.Name.StartsWith("SKU") orelse e.DataCol.Name.StartsWith("数量") Then
    Dim sum  As Double
    For i = 1 To 10
        Dim sk As String = "SKU" & i
        Dim sn As String="数量"&i
        If e.DataRow.IsNull(sk) = False AndAlso e.DataRow.IsNull(sn) = False
            Dim dr = DataTables("单价表").Find("[货品编码] = '" & e.DataRow(sk) & "'")
            If dr IsNot Nothing Then
                sum=sum + dr("单价") * e.DataRow(sn)
            End If
        End If
    Next
    e.DataRow("订单成本")=sum
End If
[此贴子已经被作者于2017/5/2 12:00:59编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
yizehong
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:2 积分:81 威望:0 精华:0 注册:2017/5/2 11:00:00
  发帖心情 Post By:2017/5/2 12:15:00 [只看该作者]

万分感谢!!!!已经修改测试了没有问题了


 回到顶部