问题描述
我正在使用此代码删除我的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
这篇关于删除关系......的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!