以文本方式查看主题 - 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
Select Case e.DataCol.Name |
-- 作者:luckbetter333 -- 发布时间:2017/2/10 16:37:00 -- 好用,多谢。 |