Foxtable(狐表)用户栏目专家坐堂 → [求助]查询与赋值并存的问题


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

主题:[求助]查询与赋值并存的问题

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/8 15:12:00 [只看该作者]

这样啊?比如A和P是数据列,V是表达式列=A*P,我去修改了产品编号,也会导致表达式重新计算?没理由呀
如果是这样的话,表达式用起来就得非常谨慎了。都用数据列,代码量会大好多,涉及到好多同步性的事

[此贴子已经被作者于2018/6/8 15:14:52编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/8 15:14:00 [只看该作者]

任何修改都会触发表达式重新计算

 

http://www.foxtable.com/webhelp/scr/1935.htm

 


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/8 15:19:00 [只看该作者]

实际上只要子表引用了父表的数据,批量修改父表中的任何一列都会受到影响,当然批量修改被引用的列受影响的程度最为明显
----帮助里,这句隐藏得好深。不仔细看还发现不了。比如说订单引用了产品ID的单价,但产品表的单位列发生了变化,同样会导致订单表的金额重新计算。

----这实在是好难理解啊。
本身只修改了产品表中的10行的规格型号,结果订单、进出库单里的所有涉及到这10种产品的数据都会重算,这个……

如果是这种说法的话,那么不论Temp是设为数据列、表达式列、临时列,都不能提高效率。唯一的办法就是清空所有表的表达式,然后赋值完后,再重置表达式。毕竟,项目比较大的时候,表之间的关联关系还是比较多的,完全用代码去做关联,工作量有点太大了
[此贴子已经被作者于2018/6/8 15:56:03编辑过]

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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/8 16:13:00 [只看该作者]

再请教一下
A-B-C-D-E是父子关系。子表都引用父表的某一列或多列,且各有计算式
如果A的某一列数据重置,按这个规则的话,会导致从B至E的表重算?还是只导致B的重算?

如果是前者,为了避免麻烦,最好就是牺牲效率,把所有的表的计算式先全部清空,重置完之后,再给所有表赋表达式
如果是后者,就直接获取A表的子表,只把直接关联的子表的计算式全部清空,重置完后,再给子表赋表达式

顺便请教:如何获取某一个表的所有的子表名称?
[此贴子已经被作者于2018/6/8 16:21:08编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107672 积分:547681 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/6/8 17:26:00 [只看该作者]

会导致从B至E的表全部重算。


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/11 11:42:00 [只看该作者]

所以,是不是可以这样理解。
1、尽可能地在关联表中少使用表达式
2、或者尽可能地少使用关联
3、如果要使用,可以在窗口中动态设置关联,设定表达式,窗口关闭后,删除关联(表达式自动删除)
4、最好在窗口中增加临时列,窗口关闭时删除此动态列
这样,才可以避免表列数据发生变化,而影响到一系列的子表数据重算导致的性能影响

[此贴子已经被作者于2018/6/11 11:42:50编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/11 11:44:00 [只看该作者]

表达式列,每种修改都是会触发计算的,所以尽量少用(特别是引用父表、统计子表的情况)


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/11 11:51:00 [只看该作者]

表达式有时候确实方便,比如引用产品的单价,比在订单中把单价列设为数据列要方便很多。
建议狐表在这方面优化改进一番呀。
尤其只是引用父表的比如名称、单位等的时候(也就是引用的并不参与计算)


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


加好友 发短信
等级:九尾狐 帖子:2216 积分:18225 威望:0 精华:0 注册:2011/11/26 20:21:00
  发帖心情 Post By:2018/6/13 8:58:00 [只看该作者]

表达式列,每种修改都是会触发计算的,所以尽量少用(特别是引用父表、统计子表的情况)
-------请教。只是在表A中,有三列数据列:编号、名称、单位、数量、单价,有1列表达式列金额=数量*单价。只是表A的编号或名称或单位发生变化,也会导致金额列重算吗?
----还是说只有直接和(或)间接的父子表才会有这种影响?如果本表没有这种影响的话,那么不设置表间关联,就不会有这个影响了?
[此贴子已经被作者于2018/6/13 9:09:41编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/6/13 9:56:00 [只看该作者]

回复楼上,同表表达式影响不大的。

 

你可以新增1000行数据,然后批量修改数量列、编号列,然后对比执行速度,就可以得到结果了

 

http://www.foxtable.com/webhelp/scr/2226.htm

 


 回到顶部
总数 20 上一页 1 2