以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有这样一个问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=3263)

--  作者:hejfen
--  发布时间:2009/6/23 23:16:00
--  有这样一个问题
表A中有表达式列,是计算关联表(表A.表B)的记录数,当重新加载表B的记录时,加载时间很长,试过用代码清空表达式列的表达式再加载记录,两三秒就OK了,为什么这样?
--  作者:blackzhu
--  发布时间:2009/6/24 7:35:00
--  

上次有人提到这个问题的,帖子叫关联的替代,讲的好像就是这个事,可以去掉表达式加载后,再加入表达式.


--  作者:yangming
--  发布时间:2009/6/24 8:37:00
--  

我想是关联表的问题,而不是表达式的问题,

应该是去掉关联加载后再重新关联
--  作者:狐狸爸爸
--  发布时间:2009/6/24 8:41:00
--  

表达式列的影响

表达式列的存在,特别是用表达式引用父表数据,或用聚合函数统计子表数据时,会对批量修改数据、同步表、以及导入和合并数据等操作,带来较大的性能损失。
我们可以在执行此类代码之前,先清除表达式,在执行结束后,再恢复表达式。

请参考:

DataTables("某表1").DataCols("某列1").Expression = ""
DataTables(
"某表1").DataCols("某列2").Expression = ""
DataTables(
"某表2").DataCols("某列1").Expression = ""
\'原来的代码

DataTables(
"某表1").DataCols("某列1").Expression = "原来的表达式"
DataTables(
"某表1").DataCols("某列2").Expression = "原来的表达式"
DataTables(
"某表2").DataCols("某列1").Expression =
"原来的表达式"


--  作者:blackzhu
--  发布时间:2009/6/24 11:21:00
--  
以下是引用狐狸爸爸在2009-6-24 8:41:00的发言:

表达式列的影响

表达式列的存在,特别是用表达式引用父表数据,或用聚合函数统计子表数据时,会对批量修改数据、同步表、以及导入和合并数据等操作,带来较大的性能损失。
我们可以在执行此类代码之前,先清除表达式,在执行结束后,再恢复表达式。

请参考:

DataTables("某表1").DataCols("某列1").Expression = ""
DataTables(
"某表1").DataCols("某列2").Expression = ""
DataTables(
"某表2").DataCols("某列1").Expression = ""
\'原来的代码

DataTables(
"某表1").DataCols("某列1").Expression = "原来的表达式"
DataTables(
"某表1").DataCols("某列2").Expression = "原来的表达式"
DataTables(
"某表2").DataCols("某列1").Expression =
"原来的表达式"

  我说的就是这个.


--  作者:13865161910
--  发布时间:2015/4/10 16:19:00
--  回复:(blackzhu)以下是引用狐狸爸爸在2009-6-24 8:...

执行导入外部数据表之前,清除表达式,而生成外部表及窗体后,重新加载表达式,请教分别在哪里写入代码?


--  作者:Bin
--  发布时间:2015/4/10 16:21:00
--  
DataTables("某表1").DataCols("某列1").Expression = ""
DataTables(
"某表1").DataCols("某列2").Expression = ""
DataTables(
"某表2").DataCols("某列1").Expression = ""
\' 导入代码...

DataTables(
"某表1").DataCols("某列1").Expression = "原来的表达式"
DataTables(
"某表1").DataCols("某列2").Expression = "原来的表达式"
DataTables(
"某表2").DataCols("某列1").Expression = 
"原来的表达式"
--  作者:13865161910
--  发布时间:2015/4/10 16:29:00
--  回复:(Bin)DataTables("某表1").DataCols("某列1")...
原来的表达式= 【  [列名] + \'.jpg 】是个图片列,该如何在代码中写入? 
--  作者:Bin
--  发布时间:2015/4/10 16:35:00
--  
DataTables("某表1").DataCols("某列1").Expression = "【  [列名] + \'.jpg 】"