A ver, el problema del error es por esto:
Código:
do while not rs2.eof
if j<5 then
rs2.movenext
j=j+1
end if
loop
i=1 -> Entra (hace moveNext e incrementas i ahora es 2)
i=2 -> Entra (hace moveNext e incrementas i ahora es 3)
i=3 -> Entra (hace moveNext e incrementas i ahora es 4)
i=4 -> Entra (hace moveNext e incrementas i ahora es 5)
ya no entra, ya no haces moveNext y tu programa queda en un ciclo infinito (por eso el error) por que nunca alcanzas el EOF
Eso se llama prueba de escritorio