==================0.8秒就计算成功==========================================================
Dim dic As New Dictionary(Of DataRow, String)
dic.Clear()
For Each dr1 As DataRow In DataTables(e.Form.Name & "_Table1").DataRows
Dim Filter1 As String = ""
Filter1 = "GUID = '" & dr1("GUID") & "' And 项目状态 ='已付款'"
dic.Add(dr1, DataTables(e.Form.Name & "_Table2").Compute("Sum(现金收入)", Filter1) + DataTables(e.Form.Name & "_Table2").Compute("Sum(抵扣收入)", Filter1))
Next
For Each dr As DataRow In dic.Keys
dr("业绩") = dic(dr)
Next
=============下面这段代码巨慢,几乎卡着不动==================================================
Dim dic1 As New Dictionary(Of DataRow, String)
dic1.Clear()
For Each ar As DataRow In DataTables(e.Form.Name & "_Table1").DataRows
Dim Filter2 As String = ""
Filter2 = "GUID = '" & ar("GUID") & "' And 项目状态 in ('已完成','进行中')"
dic1.Add(ar, DataTables(e.Form.Name & "_Table2").Compute("Sum(现金收入)", Filter2) + DataTables(e.Form.Name & "_Table2").Compute("Sum(抵扣收入)", Filter2))
Next
For Each lr As DataRow In dic1.Keys
lr("划扣业绩") = dic1(lr)
Next
[此贴子已经被作者于2018/6/5 17:43:32编辑过]