以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]关于后台数据更新问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=116200)

--  作者:沪上游客
--  发布时间:2018/3/21 10:34:00
--  [求助]关于后台数据更新问题
老师您好!
我的项目中做动态加载(主表“工程合同基础数据”分页加载),父表的"补充合同或决算数据"列是子表“补充合同或决算数据”相同循环编号“本次造价增减”的和,现在我在子表“补充合同或决算数据”增加了记录,想要在保存按钮中增以下代码:

DataTables("补充合同或决算数据").Save()
Dim bgzg As Integer
bgzg = DataTables("补充合同或决算数据").SQLCompute("Sum(本次造价增减)","循环编号 = \'" & e.DataRow("循环编号") & "\'")
DataTables("工程合同基础数据").SQLReplaceFor("补充或决算增减",bgzg,"循环编号 = \'" & e.DataRow("循环编号") & "\'",True)
DataTables("工程合同基础数据").SQLReplaceFor("实际造价","合同价款 + 补充或决算增减","循环编号 = \'" & e.DataRow("循环编号") & "\'",True)
DataTables("工程合同基础数据").Save()

以上代码出错,原因是Row不是成员,这代码肯定不对,请老师指教一下,SQLReplaceFor中的(Value: 更新值或表达式)根据我的情况应该怎么写?有没有其他办法?
(Value: 更新值或表达式)能列与列相加吗?
谢谢老师!
[此贴子已经被作者于2018/3/21 10:36:40编辑过]

--  作者:沪上游客
--  发布时间:2018/3/21 11:06:00
--  
老师你好!其实我要更新的每次父表中只有一条记录更新,有没有其他办法?如果我把相应的记录加载进来,后面会跟着很多子表好多记录一起加载,所以我想保存子表数据时同时更新对应的父表后台数据。谢谢!
[此贴子已经被作者于2018/3/21 11:07:11编辑过]

--  作者:有点甜
--  发布时间:2018/3/21 11:24:00
--  

如代码

 

For Each dr As DataRow In DataTables("补充合同或决算数据").datarows
    If dr.RowState <> DataRowState.Unchanged Then
        Dim bgzg As Integer
        bgzg = DataTables("补充合同或决算数据").SQLCompute("Sum(本次造价增减)","循环编号 = \'" & dr("循环编号") & "\'")
        DataTables("工程合同基础数据").SQLReplaceFor("补充或决算增减",bgzg,"循环编号 = \'" & dr("循环编号") & "\'",True)
        DataTables("工程合同基础数据").SQLReplaceFor("实际造价","合同价款 + 补充或决算增减","循环编号 = \'" & dr("循环编号") & "\'",True)
    End If
Next

DataTables("补充合同或决算数据").Save()