以文本方式查看主题

-  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=127558)

--  作者:aza520
--  发布时间:2018/11/16 15:51:00
--  表达式问题
“本期末累计计量金额”列和“上期末累计计量金额”都是表达式列,“本期末累计计量金额”列设置的表达式:Sum(Child(计量统计_计量汇总).计量金额),“上期末累计计量金额”列相统计不包括最近一期计量的计量金额,如图中就是不统计2期计量金额,应该是1200数值。请问老师“上期末累计计量金额”列的表达式是怎样?


图片点击可在新窗口打开查看此主题相关图片如下:1111.png
图片点击可在新窗口打开查看


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

只能写代码计算了,比如代码

 

Dim fdr = DataTables("子表").find("关联列 = \'" & e.DataRow("关联列") & "\'", "期数 desc")

If fdr Is Nothing Then    
    e.DataRow("上期累计") = 0   
Else    
    e.DataRow("上期累计") = DataTables("子表").compute("sum(金额)", "关联列 = \'" & e.DataRow("关联列") & "\'") - fdr("金额")   
Else
   


--  作者:aza520
--  发布时间:2018/11/16 17:43:00
--  
老师,这个代码我写在DataColChanged下,是“项目名称”列和“施工合同段”列两列关联,以下代码怎么改

Dim fdr = DataTables("计量汇总").find("项目名称 = \'" & e.DataRow("项目名称") & "\' And "施工合同段 = \'" & e.DataRow("施工合同段") & "\'", "计量期次 desc")

If fdr Is Nothing Then    
    e.DataRow("第100章2") = 0    
Else    
    e.DataRow("第100章2") = DataTables("计量汇总").compute("sum(第100章)", "项目名称 = \'" & e.DataRow("项目名称") & "\' And "施工合同段 = \'" & e.DataRow("施工合同段") & "\'") - fdr("第100章")    
Else

--  作者:有点甜
--  发布时间:2018/11/16 18:10:00
--  

 

Dim e
Dim fdr = DataTables("计量汇总").find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 施工合同段 = \'" & e.DataRow("施工合同段") & "\'", "计量期次 desc")

If fdr Is Nothing Then   
    e.DataRow("第100章2") = 0   
Else   
    e.DataRow("第100章2") = DataTables("计量汇总").compute("sum(第100章)", "项目名称 = \'" & e.DataRow("项目名称") & "\' And 施工合同段 = \'" & e.DataRow("施工合同段") & "\'") - fdr("第100章")   
End If


--  作者:aza520
--  发布时间:2018/11/16 18:45:00
--  
老师代码改成以下,但没反应
Dim fdr = DataTables("计量汇总").find("项目名称 = \'" & e.DataRow("项目名称") & "\' And 施工合同段 = \'" & e.DataRow("施工合同段") & "\'", "计量期次 desc")

If fdr Is Nothing Then    
    e.DataRow("第100章2") = 0    
Else    
    e.DataRow("第100章2") = DataTables("计量汇总").compute("sum(第100章)", "项目名称 = \'" & e.DataRow("项目名称") & "\' And 施工合同段 = \'" & e.DataRow("施工合同段") & "\'") - fdr("第100章")    
End If


图片点击可在新窗口打开查看此主题相关图片如下:1111.png
图片点击可在新窗口打开查看



--  作者:aza520
--  发布时间:2018/11/16 18:45:00
--  
发错图片


图片点击可在新窗口打开查看此主题相关图片如下:1111.jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2018/11/16 20:19:00
--  
代码放到计量统计的DataColChanged。然后重置列