以文本方式查看主题 - 易表在线答疑 (http://egrid2000.com/dvbbs/index.asp) -- 用户社区 (http://egrid2000.com/dvbbs/list.asp?boardid=2) ---- 当前表的某列计算用什么函数合适? (http://egrid2000.com/dvbbs/dispbbs.asp?boardid=2&id=19188) |
-- 作者:sqhht -- 发布时间:2010/3/27 18:20:00 -- 当前表的某列计算用什么函数合适? 想重新计算当前表的“库存”列,用进货数量减去销售数量。我在窗口中设定按钮,按钮公示如下: evalfor(gridname,"库存","round(sumfor(""进货明细库"",""进货数量_公斤"",""仓库"",""="",""商品库"",""存盘"",""="",-1)-sumfor(""销售明细库"",""销售数量_公斤"",""仓库"",""="",""商品库""),1)") 可以正常计算。 我的问题:有没有函数或者在以上的基础上,只替换当前行的“库存”列,不是把整个表的“库存”列都计算(替换)?不在“库存”列设定刷新公式! |
-- 作者:程兴刚 -- 发布时间:2010/3/27 21:28:00 -- 将evalfor里面的计算公式修改后改放在库存列的刷新公式中! |
-- 作者:sqhht -- 发布时间:2010/3/27 22:22:00 -- 不向设置刷新公式! 要是设置刷新公式,入关联表的数据时,计算太慢。 还有其他的方法吗?最好点击按钮时,计算一次,放在当前行的“库存”列! |
-- 作者:程兴刚 -- 发布时间:2010/3/28 1:22:00 -- 真难理解,直接用刷新公式计算当前行指定列和手工每次点击按钮到底哪一个更方便快捷,楼主三思! |
-- 作者:sqhht -- 发布时间:2010/3/28 8:17:00 -- 关键是在窗口中,录入关联表的数据较多,如果输入一行,就自动计算一次,影响录入速度。所以想在关联表的数据录入完以后,点击计算。 |
-- 作者:wjq1072 -- 发布时间:2010/3/28 8:35:00 -- RecalcRow() 重算指定表中的指定行。 RecalcRow(Grid,StartRow,EndRow,Option) 例如: RecalcRow(GridName,1,Rows) 重算当前表的所有行,包括操作公式。 RecalcRow("订单明细",[订单明细!Row],[订单明细!Row],1) |
-- 作者:sqhht -- 发布时间:2010/3/28 10:21:00 -- 上面的这个是把整行都计算了! 是不是Replacefor()函数可以使用?如果指定计算当前行,命令怎样写!? 替换指定表的某一列,可以指定替换条件 例如: |
-- 作者:sqhht -- 发布时间:2010/3/28 10:31:00 -- ReplaceFor("销售库",sumfor("进货明细库","进货数量_公斤","仓库","=","商品库","存盘","=",-1)-sumfor("销售明细库","销售数量_公斤","仓库","=","商品库"),"单据号","=",[单据号]) 我用上述公示设置成按钮公示,每行的单据号都是不同的。想用单据号来限制只计算当前行。 没有实现。不会计算。请求给个解释!先谢谢! 公式是这样的! |
-- 作者:wjq1072 -- 发布时间:2010/3/28 10:38:00 -- RecalcCell() 重算指定表指定行的指定列 语法 例如 RecalcCell("订单",[订单!row],"数量","金额")
|
-- 作者:sqhht -- 发布时间:2010/3/28 10:52:00 -- 我的按钮公式为:RecalcCell("销售库",[销售库!row],"库存") “库存”列的操作公式为:sumfor("进货明细库","进货数量_公斤","仓库","=","商品库","存盘","=",-1)-sumfor("销售明细库","销售数量_公斤","仓库","=","商品库") 但是点击按钮后,不会计算! |