以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  多列条件下跨表统计自动更新  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=96010)

--  作者:luckbetter333
--  发布时间: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




--  作者:有点色
--  发布时间: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
--  发布时间:2017/2/10 16:37:00
--  
好用,多谢。图片点击可在新窗口打开查看