2011-11-16 48 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它陷入了一個無限循環。