易表在线答疑技术与交流用户社区 → 这个公式我怎么做不对?


  共有6900人关注过本帖树形打印复制链接

主题:这个公式我怎么做不对?

帅哥哟,离线,有人找我吗?
jdyylyzw
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:11 积分:0 威望:0 精华:0 注册:2006/11/21 15:31:00
这个公式我怎么做不对?  发帖心情 Post By:2006/11/21 15:38:00 [只看该作者]

以下将“入库”表和“出库”表数量列的操作公式设为对吗?
if([结存!RelationRow]>0, RecalcRow("结存",[结存!RelationRow]),True)

按常规,对于每一种产品,入库数量减去出库数量,就是结存数量,所以“结存”表中数量列的刷新公式为:
Sumfor("入库", "数量", "品名", "=", [品名]) - Sumfor("出库","数量","品名","=",[品名])
以后我们需要得到最新结存数据的时候,只需重算“结存”表即可。
但是如果有5000种产品,进出库记录有10万条,那么重算整个结存表可能需要数十分钟才能完成,很少有人能够忍受这种漫长的等待。
改进一下这个系统就可解决问题:
1、在“入库”表和“结存”表之间、“出库”表和“结存”表之间通过“品名”列建立关联。
2、将“入库”表和“出库”表数量列的操作公式设为:
if([结存!RelationRow]>0, RecalcRow("结存",[结存!RelationRow]),True)

这样,一旦有进出库或调整进出库的数据,就立即重算“结存”表中对应的行,整个结存表的数据随时都是最新的,无须在需要最新结存数据的时候去花费几十分钟重算整个结存表,效率大为提高。

注意:RecalcRow("结存",[结存!RelationRow])  只有两个参数,EndRow可以省略。

RecalcRow(Grid,StartRow,EndRow,Option)
重算指定表中的指定行。文字


 回到顶部
帅哥哟,离线,有人找我吗?
czy
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/21 15:51:00 [只看该作者]

公式没错。

 回到顶部
帅哥哟,离线,有人找我吗?
gdxhq
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:职业侠客 帖子:497 积分:89 威望:0 精华:0 注册:2006/8/13 16:15:00
  发帖心情 Post By:2006/11/21 15:56:00 [只看该作者]

我记得这是帮助中的一段话,
大致意思就是在数据多时,因为关联数据不能立即更新而要重算表又需要很长时间,因此,在入库和出库表有数据变动时,更新结存表的数据。这你看到 的数据都是刷新过的。
主要 一点是因为关联表在不可见的情况下,关联表的内容发生变动后不能实时反映到有关联公式的其他表中。

 回到顶部
帅哥哟,离线,有人找我吗?
jdyylyzw
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:11 积分:0 威望:0 精华:0 注册:2006/11/21 15:31:00
  发帖心情 Post By:2006/11/21 16:14:00 [只看该作者]

我在“入库”表和“结存”表之间、“出库”表和“结存”表之间通过“品名”列建立关联。将“入库”表和“出库”表数量列的操作公式设为:
if([结存!RelationRow]>0, RecalcRow("结存",[结存!RelationRow]),True)后该列都显示True。

 回到顶部
帅哥哟,离线,有人找我吗?
czy
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13147 积分:-89 威望:0 精华:0 注册:2006/8/11 11:14:00
  发帖心情 Post By:2006/11/21 16:19:00 [只看该作者]

呵呵,那你就大错特错了,这个公式只能放在数量列的操作公式中。

而从你的情况来看,你是把此公式放在了数量列的刷新公式中。


 回到顶部
帅哥哟,离线,有人找我吗?
jdyylyzw
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游民 帖子:11 积分:0 威望:0 精华:0 注册:2006/11/21 15:31:00
  发帖心情 Post By:2006/11/22 10:09:00 [只看该作者]

惭愧,学习了。

 回到顶部