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