Sel ect Case e.DataCol.name
Case "审核"
If e.DataRow("结帐") = False Then
Dim dr As DataRow = e.DataRow
Dim dr1 As DataRow = DataTables("洽商汇总").SQLFind("合同编号= '" & dr("合同编号") & "'")
If dr1 IsNot Nothing Then
dr("洽商增加预算额")=DataTables("洽商汇总").SQLCompute("sum(洽商增加预算额)","合同编号= '" & dr("合同编号") & "'")
dr("洽商增加结算额")=DataTables("洽商汇总").SQLCompute("sum(洽商增加结算额)","合同编号= '" & dr("合同编号") & "'")
dr("洽商减少预算额")=DataTables("洽商汇总").SQLCompute("sum(洽商减少预算额)","合同编号= '" & dr("合同编号") & "'")
dr("洽商减少结算额")=DataTables("洽商汇总").SQLCompute("sum(洽商减少结算额)","合同编号= '" & dr("合同编号") & "'")
Else
dr("洽商增加预算额")=0
dr("洽商增加结算额")=0
dr("洽商减少预算额")=0
dr("洽商减少结算额")=0
End If
Dim dr2 As DataRow = DataTables("设计汇总").SQLfind("合同编号 = '" & e.DataRow("合同编号") & "'")
If dr2 IsNot Nothing Then
dr("设计费预算")=DataTables("设计汇总").SQLCompute("sum(设计费预算)","合同编号='" & e.DataRow("合同编号") & "'")
dr("设计费结算")=DataTables("设计汇总").SQLCompute("sum(设计费结算)","合同编号='" & e.DataRow("合同编号") & "'")
Else
dr("设计费预算")=0
dr("设计费结算")=0
End If
我之前一直用的:find和Compute。现在把代码的前都加上了:SQL 来:切换 到表后,重置:审核 列,来计算。(下面还有20行左右的同样的代码来计算其它值 )
原来切换表时:4秒左右吧。现在加上SQL直接死机了。
原来以为加上SQL会更快,目的就是加快速度。 请问怎么写好。
[此贴子已经被作者于2016/12/3 13:28:28编辑过]