2011-11-16 60 views
1

循环我有一个记录,我通过循环使用.movenext和所有,但它总是绕一圈!无限通过记录在VBA

Dim dbsNu As Database 
Dim rsNieuw As DAO.Recordset 
Dim rsOld As DAO.Recordset 

     Set rsOld = dbsNu.OpenRecordset("SELECT * FROM tblActieElementLink WHERE actieElement = " & Me.actieElementId, dbOpenDynaset) 
     Set rsNieuw = dbsNu.OpenRecordset("SELECT * FROM tblActieElementLink", dbOpenDynaset) 

     With rsNieuw 

      Do While rsOld.EOF = False 

       .AddNew 
        !actieElement = rsOld!actieElement 
       .Update 

       rsOld.MoveNext 
      Loop 

rsOld.EOF永远不会是真的,它会一直添加新记录。

+0

你怎么在调试看到了什么?尤其是'rsOld' var – JMax

+1

哦,这就是问题所在。我认为rsold是一个snapshop,但我一直向它添加数据,所以它保持循环。 – skerit

+3

所以你的问题解决了? :) – JMax

回答

0

我以为rsOld是一个快照,但由于我一直将记录在同一个表通过rsNieuw它陷入了一个无限循环。