本文介绍了删除关系......的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用此代码删除我的mdb文件中的所有关系


iFlag = 1

Do while iFlag<> 0

iFlag = 0

For each rel in db.Relations

db.Relations.Delete rel.Name

iFlag = 1

Next rel

循环


只循环一次只删除两个表之间的一个关系。我必须

重复循环以删除所有表之间的所有关系。是否有一些

外部容器或集合可以循环使用?另外,是否有一个

SQL语句,如DROP RELATION ...?


谢谢。


Matthew Wells


I''m using this code to delete all relationships in my mdb file

iFlag = 1
Do While iFlag <> 0
iFlag = 0
For Each rel In db.Relations
db.Relations.Delete rel.Name
iFlag = 1
Next rel
Loop

Just looping once only deletes one relation between two tables. I have to
repeat the loop to delete all relations between all tables. Is there some
outer container or collection that I can loop through? Also, is there an
SQL statement like "DROP RELATION..."?

Thanks.

Matthew Wells
MW****@NumberCruncher.com

推荐答案






如果我没记错的话,对于每个构造都使用一个计数器和混淆
删除期间
。也就是说,如果有两个关系,我们首先在a中删除

,第二个变成#1,每个构造的

搜索关系#2 ,找不到它并退出。如果有两个以上的b
,则只删除奇数编号的关系。


删除所有关系的另一种方法可能是:


Sub RemoveRelations()

Dim dbs作为数据库

设置dbs = CurrentDb()

使用dbs

Do While .Relations.Count> 0

.Relations.Delete .Relations(.Relations.Count - 1).Name

Loop

.Relations.Refresh

结束

设置dbs =无任何

结束子


这是très古代代码。我已经多年没用了。如果您决定使用它,或者甚至批评它,请记住这个




-

Lyle

(电子邮件参考)





从集合中删除项目时,我认为它''最好使用

MichKa方法,即使用计数器并使用STEP -1从

集合计数开始:

For iRel = db.Relations.Count - 1到0步骤-1
db.Relations.Delete db.Relations(i).Name
下一个iRel



When deleting items from a collection, I think it''s better to use
the MichKa method, which is to use a counter and start from the
collection count with STEP -1:
For iRel = db.Relations.Count - 1 to 0 Step -1
db.Relations.Delete db.Relations(i).Name
Next iRel




我建议这样做的原因是,从集合属性中查找值的依赖性较小。

也就是说,在

MichKa的方法中,您查找集合计数,然后按索引号对集合成员运行

。在你的例子中,你看一下循环的收集计数一次是
,然后循环中的每个

项目看一次。


-

David W. Fenton

dfenton at bway dot net


这篇关于删除关系......的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-16 08:44