项目有许多不合理的代码用法。
1、客户定砖明细表DataColChanging,这种代码会引起死循环
If e.DataCol.Name = "客户名称" Then
If e.NewValue IsNot Nothing Then
DataTables("客户订砖明细表").ReplaceFor("客户名称",e.NewValue,"订砖单号 = '" & e.DataRow("订砖单号") & "'")
End If
End If
不停的自己触发更新自己,应该改为
If e.DataCol.Name = "客户名称" Then
If e.NewValue IsNot Nothing Then
SystemReady = False
DataTables("客户订砖明细表").ReplaceFor("客户名称",e.NewValue,"订砖单号 = '" & e.DataRow("订砖单号") & "'")
SystemReady = true
End If
End If
这个事件其它代码一样,自己改回来
2、不少明细表Datacolchanged这种代码非常不严谨
Tables("客户订砖总表").Current("应付金额") = DataTables("客户订砖明细表").Compute("sum(应付金额)","订砖单号 = '" & Tables("客户订砖总表").Current("订砖单号") & "'")
Tables("客户订砖总表").Current("实付金额") = DataTables("客户订砖明细表").Compute("sum(实付金额)","订砖单号 = '" & Tables("客户订砖总表").Current("订砖单号") & "'")
建议花时间好好看看【开发指南】