Foxtable(狐表)用户栏目专家坐堂 → 多列条件下跨表统计自动更新


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

主题:多列条件下跨表统计自动更新

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


加好友 发短信
等级:童狐 帖子:298 积分:2426 威望:0 精华:0 注册:2016/11/2 9:30:00
多列条件下跨表统计自动更新  发帖心情 Post By:2017/2/10 14:35:00 [只看该作者]

If e.DataCol.Name = "产品" Then 

    Dim Filter As String = "[产品] = '" & e.NewValue & "'"

    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter)

     

End If

Select Case e.DataCol.Name

    Case "数量"

        Dim pr As DataRow

        pr = DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")

        If pr IsNot Nothing Then

            DataTables("统计").DataCols("产品").RaiseDataColChanged(pr)

        End If

End Select


上面是跨表统计的自动更新代码,分别放在统计表和订单表

但上述代码是以单列“产品”为条件筛选统计,如果变成多列,代码应该怎么写?下面的代码提示错误“[客户]运算符后缺少操作数”

select case e.DataCol.Name 

    Case"产品",“客户”

Dim Filter As String = "[产品] = '" & e.NewValue & "'"

Dim Filter1 As String = "[客户] = '" & e.NewValue & "'"

    e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter & Filter1)

     

End If

Select Case e.DataCol.Name

    Case "数量"

        Dim pr As DataRow

        pr = DataTables("统计").Find("产品 = '" & e.DataRow("产品") & "'")

        If pr IsNot Nothing Then

            DataTables("统计").DataCols("产品").RaiseDataColChanged(pr)

        End If

        Dim pr1 As DataRow

        pr1 = DataTables("统计").Find("客户 = '" & e.DataRow("客户") & "'")

        If pr IsNot Nothing Then

            DataTables("统计").DataCols("客户").RaiseDataColChanged(pr)

        End If


End Select




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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/2/10 14:44:00 [只看该作者]

Select Case e.DataCol.Name
   
        Case"产品","客户"
       
        Dim Filter As String = "[产品] = '" & e.DataRow("产品") & "' and [客户] = '" & e.DataRow("客户") & "'"
       
        e.DataRow("数量") = DataTables("订单").Compute("Sum(数量)", Filter)
      
End Select

 

 

 

Select Case e.DataCol.Name
   
    Case "数量"
   
        Dim Filter As String = "[产品] = '" & e.DataRow("产品") & "' and [客户] = '" & e.datarow("客户") & "'"
        DataTables("统计").DataCols("产品").RaiseDataColChanged(filter)
     
End Select


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


加好友 发短信
等级:童狐 帖子:298 积分:2426 威望:0 精华:0 注册:2016/11/2 9:30:00
  发帖心情 Post By:2017/2/10 16:37:00 [只看该作者]

好用,多谢。图片点击可在新窗口打开查看

 回到顶部