这个是跨表统计的代码:
Dim T2 As DataRow = e.DataRow Dim Sum As Double Select Case e.DataCol.Name Case "IO","口岸","色号","色名","运输方式","包装" Sum = DataTables("装箱单").Compute("Sum(XS)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(S)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(M)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(L)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(XL)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(XXL)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") Sum = DataTables("装箱单").Compute("Sum(XXXL)","[IO] = '" & T2("IO") & "' And [口岸] = '" & T2("口岸") & "'And [色号] = '" & T2("色号") & "'And [色名] = '" & T2("色名") & "'And [运输方式] = '" & T2("运输方式") & "'and[包装]='" & T2("包装") & "'") e.DataRow("XS") = Sum e.DataRow("S") = Sum e.DataRow("M") = Sum e.DataRow("L") = Sum e.DataRow("XL") = Sum e.DataRow("XXL") = Sum e.DataRow("XXXL") = Sum End Select
这个是自动计算的代码:
Dim T3 As DataRow = e.DataRow Select Case e.DataCol.Name Case "IO","口岸","色号","色名","运输方式","包装" '在表A中找出同一分类的行 T3 = DataTables("装箱统计").Find("[IO] = '" & T3("IO") & "' And [口岸] = '" & T3("口岸") & "'And [色号] = '" & T3("色号") & "'And [色名] = '" & T3("色名") & "'And [运输方式] = '" & T3("运输方式") & "'and[包装]='" & T3("包装") & "'") If T3 IsNot Nothing Then '如果找到 '针对该行的分类列,触发DataColChanged事件. DataTables("装箱统计").DataCols("IO").RaiseDataColChanged(T3) End If End Select
请看看是怎么回事?我统计全部为零.
|