试试,不行就上传实例
……
If dr2 Is Nothing Then
If dr1 Is Nothing Then
mr("当月金额") = Nothing
Else
mr("当月金额") = dr1("累计金额")
End If
else
Dim Val1 As Double = e.DataTable.Compute("Sum(当月金额)"," [单位] = '" & dr3("单位") & "' And [姓名] = '" & dr3("姓名") & "' and [_SortKey] <" & mr("_SortKey"))
If dr1 Is Nothing Then
mr("当月金额") = 0 - Val1
Else
mr("当月金额") = dr1("累计金额") - Val1
End If
End If
Dim drs As List(of DataRow) Dim Filter As String drs = e.DataTable.Select("[_SortKey] >= " & dr2("_SortKey") & " And [单位] = '" & dr2("单位") & "' And [姓名] = '" & dr2("姓名") & "'", "[_SortKey]") For i As Integer = 1 To drs.Count - 1dr2 = drs(i)
dr1 = DataTables("表C").Find("[单位] = '" & dr2("单位") & "' And [日期] = #" & dr2("日期") & "# And [姓名] = '" & dr2("姓名") & "'")
Dim Val1 As Double = e.DataTable.Compute("Sum(当月金额)"," [单位] = '" & dr2("单位") & "' And [姓名] = '" & dr2("姓名") & "' and [_SortKey] <" & dr2("_SortKey"))
If dr1 Is Nothing Then
dr2("当月金额") = 0 - Val1
Else
dr2("当月金额") = dr1("累计金额") - Val1
End If
Next
End Select