Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共5 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:[讨论]  我发现在关联列中运行计算代码,速度非常的慢!

1楼
wcs 发表于:2008/11/7 16:49:00

只是这样一个简单的代码:e.datarow("关联")="12" 竟运行了几十秒,数据是1万多行。复杂一点的公式就不用谈了。

同样,要删除“关联”列的内容,也是非常地慢,没有尽头。

我的A表“关联”列与B表“关联"列  建立了关联,A表3000行,B表10000多行。

是不是我的版本旧了,试试新的版本。

2楼
狐狸爸爸 发表于:2008/11/7 18:05:00
关联列一般也就是主键列,是不应该去修改的。
修改关联列,要处理很多任务。
[此贴子已经被作者于2008-11-7 18:05:54编辑过]
3楼
wcs 发表于:2008/11/7 21:30:00

我的关联列不是主键,它有更新的必要。

是这样的:父表是“凭证主表”,子表的“凭证明细表”(相当于订单表和订单明细表)

父表的数据从明细表是用数据填充器,来提取的不重复值。

我将它们关联起来只是想查看方便一点,没办法,窗口中只能用到关联表。

我想,在重算这一列以前,取消关联,重算完毕以后再建立关联可能会解决问题。

4楼
狐狸爸爸 发表于:2008/11/7 21:45:00

动态创建关联

FoxTable提供了一个全局集合Relations,利用该集合可以动态创建关联。

Relations包括以下方法。

Add

用于添加关联,语法:

Add(RelationName, ParentCol, ChildCol)

RelationName:关联名称
ParentCol:    父表关联列
ChildCol:     子表关联列

示例

在产品表和订单表之间,通过产品编号建立关联:

Relations.Add("关联1",DataTables("产品").DataCols("产品编号"),DataTables("订单").DataCols("产品编号"))

Delete

删除指定名称的关联。

示例

删除名称为“关联1”的关联:

Relations.Delete("关联1")

Contains

判断是否存在指定名称的关联。

示例

判断是否存在名称为“关联1”的关联:

If Relations.Contains("关联1") Then
   
MessageBox.Show("关联1已经建立!")
End If

5楼
wcs 发表于:2008/11/7 22:08:00
哈哈,贴子的页面还没有刷新,我就已经解决这个问题了。

回来准备报告一下解决方法,结果发现:方法与贺老六的一样哦!

可见:狐表的服务确实是快!
   我的学习有点点收获!
共5 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .01953 s, 2 queries.