以文本方式查看主题

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

--  作者:hcfbehero
--  发布时间:2019/6/29 16:48:00
--  [求教]增加行计算
老师,我做了个统计表,最下行合计是以上所有行的和值,但是我在作业方量后面,新加了几列,每列都有自己的计算公式,但是新加列的最下面的合计行,不是以上所有行的和值,而是跟着上面行的公式走,怎么解决呢,图一是统计表,下面是新加列的代码,请您帮看下
图一

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

DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_实际工资", Gettype(Integer), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_出勤] Is null or [泵工工资明细_出勤] = 0 , 0 ,iif([泵工工资明细_出勤] >= 28 ,[泵工工资明细_基础工资] , [泵工工资明细_基础工资] / 28 * [泵工工资明细_出勤]))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_1000_1", Gettype(Double), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_作业方量] Is null ,null ,iif([泵工工资明细_作业方量] < = 1000,[泵工工资明细_作业方量] ,1000))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_2000_1.5", Gettype(Double), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_作业方量] Is null ,null ,iif([泵工工资明细_作业方量] < = 1000, null, iif([泵工工资明细_作业方量] < = 2000,[泵工工资明细_作业方量] - 1000 ,1000)))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_3000_2", Gettype(Double), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_作业方量] Is null ,null ,iif([泵工工资明细_作业方量] < = 1000, null, iif([泵工工资明细_作业方量] < = 2000, null, iif([泵工工资明细_作业方量] < = 3000,[泵工工资明细_作业方量] - 2000 ,1000))))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_4000_2.5", Gettype(Double), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_作业方量] Is null ,null ,iif([泵工工资明细_作业方量] < = 1000, null, iif([泵工工资明细_作业方量] < = 2000, null, iif([泵工工资明细_作业方量] < = 3000, null, iif([泵工工资明细_作业方量] < = 3000,[泵工工资明细_作业方量] - 3000 ,1000)))))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_5000_3", Gettype(Double), " iif([泵工工资明细_姓名] = \'做公司\', null, iif([泵工工资明细_作业方量] Is null ,null ,iif([泵工工资明细_作业方量] < = 1000, null, iif([泵工工资明细_作业方量] < = 2000, null, iif([泵工工资明细_作业方量] < = 3000, null, iif([泵工工资明细_作业方量] < = 4000, null, iif([泵工工资明细_作业方量] < = 5000,[泵工工资明细_作业方量] - 4000 ,1000))))))) " )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_绩效工资", Gettype(Integer), " iif([泵工工资明细_姓名] = \'做公司\', null, isnull([泵工工资明细_1000_1],0) * 1 + isnull([泵工工资明细_2000_1.5],0) * 1.5 + isnull([泵工工资明细_3000_2],0) * 2 + isnull([泵工工资明细_4000_2.5],0) * 2.5 + isnull([泵工工资明细_5000_3],0) * 3 + 0.1)" )
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_其他费用", Gettype(Integer))
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_最终工资", Gettype(Integer), "iif([泵工工资明细_姓名] = \'做公司\', null, Isnull([泵工工资明细_实际工资], 0) + Isnull([泵工工资明细_绩效工资], 0) + Isnull([泵工工资明细_其他费用], 0))")
DataTables("泵送明细_Table5").DataCols.Add("泵工工资明细_备注", Gettype(String))


--  作者:有点蓝
--  发布时间:2019/6/29 17:02:00
--  
临时列添加完毕后再使用代码进行合计:http://www.foxtable.com/webhelp/topics/2750.htm

不要使用统计里面的合计属性。

--  作者:hcfbehero
--  发布时间:2019/6/29 17:41:00
--  
谢谢,蓝版,解决了