2011-11-16 3 views
1

레코드 집합이 있습니다. .movenext와 all을 사용하여 루핑 할 수 있지만 항상 루프됩니다.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를 통해 동일한 테이블에 레코드를 계속 추가했기 때문에 무한 루프에 걸렸습니다.

관련 문제