易表在线答疑技术与交流用户社区 → [求助]求仓库列的数量不能同步计算


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

主题:[求助]求仓库列的数量不能同步计算

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


加好友 发短信
等级:论坛游民 帖子:114 积分:235 威望:0 精华:0 注册:2009/1/30 14:49:00
[求助]求仓库列的数量不能同步计算  发帖心情 Post By:2010/11/30 18:00:00 [只看该作者]

提高统计速度
尽量避免重算全表

假定我们有一个仓管系统,该系统由三个表组成,分别为进货、销售、仓库。
显然,对于每一种产品,总的进货数量减去总的销售数量,就是仓库数量,所以“仓库”表中数量列的刷新公式为:
Sumfor("进货", "数量", "产品名称", "=", [产品名称]) - Sumfor("销售","数量","产品名称","=",[产品名称])

以后我们需要得到最新仓库数据的时候,只需重算“仓库”表即可。但是如果有5000种产品名称,进销售记录有上10万条,那么重算整个仓库表可能需要数十分钟才能完成,很少有人能够忍受这种漫长的等待。

下面我们来改进一下这个系统:
1、在“进货”表和“仓库”表之间、“销售”表和“仓库”表之间通过“产品名称”列建立关联。
2、将“进货”表数量列的操作公式设为:
if([仓库!RelationRow]>0, RecalcRow("仓库",[仓库!RelationRow]),True)
3、将“销售”表数量列的操作公式设为:
if([仓库!RelationRow]>0, RecalcRow("仓库",[仓库!RelationRow]),True)
if([仓库!RelationRow]>0, RecalcRow("仓库", [仓库!RelationRow]),True)
上述公式的含义是,一旦有进销售,就立即重算“仓库”表中对应的行。这样我们在某产品名称有进销售的时候,即时计算出了该产品名称的仓库,整个仓库表的数据随时都是最新的,无须在需要最新仓库数据的时候去花费几十分钟重算整个仓库表,效率大为提高。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 按照这个公式::
     我的文件他不会自动刷新,  我用的是窗口界面,请大家看看  

 比如  我在进货表里面添加 进货数量  ,而仓库数量却不能同步变化,,我必须在进货表里面刷新  数量列  仓库数量才正常同步,,,........

由三个表组成,分别为进货、销售、仓库
       在数量列  进货、销售、  的代码:
if([仓库!RelationRow]>0, RecalcRow("仓库",[仓库!RelationRow]),True)


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


加好友 发短信
等级:超级版主 帖子:8672 积分:1734 威望:0 精华:0 注册:2006/8/11 10:52:00
  发帖心情 Post By:2010/11/30 20:02:00 [只看该作者]

发文件

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


加好友 发短信
等级:论坛游民 帖子:114 积分:235 威望:0 精华:0 注册:2009/1/30 14:49:00
  发帖心情 Post By:2010/11/30 20:17:00 [只看该作者]


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


加好友 发短信
等级:超级版主 帖子:16190 积分:125850 威望:1 精华:0 注册:2006/8/12 12:29:00
  发帖心情 Post By:2010/11/30 21:16:00 [只看该作者]


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


加好友 发短信
等级:论坛游民 帖子:114 积分:235 威望:0 精华:0 注册:2009/1/30 14:49:00
  发帖心情 Post By:2010/11/30 21:38:00 [只看该作者]

原来 是在  仓库 数量 刷新中加   [进货!数量]-[销售!数量] ,问题终于解决了,这次速度应该没有问题了
谢谢 wjq1072 总版主


 回到顶部