以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]关于后台数据更新问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=117621) |
-- 作者:沪上游客 -- 发布时间:2018/4/16 12:54:00 -- [求助]关于后台数据更新问题 老师您好! 以下是我在表的BeforeSaveDataRow代码,现在我在保存新记录行的时候,系统就死机了。我知道这些代码执行是把所有的记录全部更新一下,占用很多的电脑资源造成的。请问一下,我能否针对所编缉的记录(以“支出合同编号”)的更新?代码应该怎么写? 谢谢老师! For Each dr As DataRow In DataTables("支出合同收支表").datarows Dim spje As Decimal spje = DataTables("支出合同收支表").Compute("Sum(金额)","支出合同编号 = \'" & dr("支出合同编号") & "\'And [类别] = \'收票\'") DataTables("支出合同基础数据").SQLReplaceFor("已收发票金额",spje,"支出合同编号 = \'" & dr("支出合同编号") & "\'") DataTables("支出合同基础数据").SQLReplaceFor("应开发票数","支出合同实际价款 - 已收发票金额","支出合同编号 = \'" & dr("支出合同编号") & "\'",True) Dim zcje As Decimal zcje = DataTables("支出合同收支表").Compute("Sum(金额)","支出合同编号 = \'" & dr("支出合同编号") & "\'And [类别] = \'支出\'") DataTables("支出合同基础数据").SQLReplaceFor("已付款金额",zcje,"支出合同编号 = \'" & dr("支出合同编号") & "\'") DataTables("支出合同基础数据").SQLReplaceFor("应付款余额","已收发票金额 - 已付款金额","支出合同编号 = \'" & dr("支出合同编号") & "\'",True) For Each drz As DataRow In DataTables("支出合同基础数据").datarows Dim s As Decimal s = DataTables("支出合同基础数据").SQLCompute("Sum(已收发票金额)","主合同编号 = \'" & drz("主合同编号") & "\'") DataTables("工程合同基础数据").SQLReplaceFor("支出合同应付款_应付总额",s,"合同编号 = \'" & dr("主合同编号") & "\'") Dim z As Decimal z = DataTables("支出合同基础数据").SQLCompute("Sum(已付款金额)","主合同编号 = \'" & drz("主合同编号") & "\'") DataTables("工程合同基础数据").SQLReplaceFor("支出合同应付款_已付数",z,"合同编号 = \'" & dr("主合同编号") & "\'") DataTables("工程合同基础数据").SQLReplaceFor("支出合同应付款_应付余额","支出合同应付款_应付总额 - 支出合同应付款_已付数","合同编号 = \'" & dr("主合同编号") & "\'",True) Next Next |
-- 作者:有点甜 -- 发布时间:2018/4/16 14:43:00 -- Dim dr = e.DataRow Dim s As Decimal |
-- 作者:沪上游客 -- 发布时间:2018/4/17 13:48:00 -- 谢谢老师,辛苦了! |