以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  临时添加列的表达式使用变量出错  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=127300)

--  作者:明天的灵
--  发布时间:2018/11/10 14:55:00
--  临时添加列的表达式使用变量出错
在交叉统计后的“计件产量”统计表中,需要根据合计列的产量,乖以计件工资单价(1元/件)计算工资。

With DataTables("计件产量").DataCols  \'用表达式列计算工资数据
    .Add("工资",Gettype(Double), "IsNull([合计],0) * 1 ")
End With
上面语句,计算单价直接为“1”,可能正确计算。

实际上单价需要用全局变量(Vars("v_dj"),类型为Double)来代替,改为以下语句就出错了
With DataTables("计件产量").DataCols  \'用表达式列计算工资数据
    .Add("工资",Gettype(Double), "IsNull([合计],0) * Vars("v_dj") ")
End With


[此贴子已经被作者于2018/11/10 15:03:44编辑过]

--  作者:有点蓝
--  发布时间:2018/11/10 15:06:00
--  
表达式不支持使用变量、代码这些
--  作者:明天的灵
--  发布时间:2018/11/10 16:49:00
--  
可惜了,变得不灵活
--  作者:有点蓝
--  发布时间:2018/11/10 16:54:00
--  
循环所有行,使用代码计算即可,效率和表达式差不了多少