试试这个方法Dim jb1 As New SQLJoinTableBuilder("查询表1","表B")
jb1.AddExp("类别","'首次检测'")
Dim lms As String = "A|B|C|D"
For Each lm As String In lms.Split("|")
jb1.AddExp(lm,"sum(首次检测人员_" & lm & ")")
Next
Dim jb2 As New SQLJoinTableBuilder("查询表1","表B")
jb2.AddExp("类别","'返修检测'")
For Each lm As String In lms.Split("|")
Dim bds As String = "iif(sum(返修_" & lm & ") is null,0,sum(返修_" & lm & "))"
bds += "+iif(sum(二次返修_" & lm & ") is null,0,sum(二次返修_" & lm & "))"
jb2.AddExp(lm,bds)
Next
jb1.Union(jb2,True)
jb1.Build()
For Each lm As String In lms.Split("|")
Tables("查询表1").Cols(lm).GrandTotal = True
Next
Tables("查询表1").GrandTotal = True
MainTable = Tables("查询表1")
[此贴子已经被作者于2017/3/10 22:16:21编辑过]