Título: Ciclo Do While anidado que no coge al ciclo interior Publicado por: Baldomero123 en 4 Enero 2018, 10:58 am Buenos días:
Tengo un ciclo exterior de inversores Rs, otro ciclo interior de plataformas Rs1(donde han invertido los inversores) y dentro del ciclo interior la suma de lo que cada inversor ha invertido en cada plataforma Rs2. El problema es que sólo me funciona en la primera parte, es decir obtengo como salida: inversores Plataformas Importes A Lendix 1000 Lendopolis 1200 Groiw.ly 1400 ..... ..., B C ... 'CICLO EXTERIOR (DE LOS INVERSORES)(principio Rs) tfin = 0 Rs.Open "SELECT * FROM inversores ORDER BY inversor", Cn, adOpenStatic, adLockPessimistic Rs.MoveFirst Do While tfin < cuantosinvx 'cuantosinv es el nro de inversores inversorx = Rs.Fields.Item(1) CurrentX = 500 CurrentY = CurrentY + 500 Print inversorx 'CICLO INTERIOR (PLATAFORMAS principio Rs1) Rs1.Open "SELECT * FROM plataforma ORDER BY platform", Cn, adOpenStatic, adLockOptimistic Rs1.MoveFirst CurrentY = CurrentY - 100 Do While j < cuantasplatx 'cuantasplatx es el nro de plataformas platformx = Rs1(1) CurrentX = 1300 CurrentY = CurrentY - 100 Print platformx Rs2.Open "SELECT SUM(importe) AS importex FROM remesas WHERE inversor = """ & inversorx & """ AND platform = """ & platformx & """ ", Cn, adOpenStatic, adLockOptimistic If Not IsNull(Rs2(0)) Then importex = Rs2(0) Else importex = 0 End If CurrentX = 3000 CurrentY = CurrentY - 100 Print importex Rs2.Close Rs1.MoveNext 'Mover a la siguiente plataforma j = j + 1 Loop 'Ciclo de las plataformas Rs1 Rs1.Close 'cerramos el Recordset de las plataformas Rs.MoveNext 'Mover al siguiente inversor tfin = tfin + 1 Loop 'Ciclo EXTERIOR (de los inversores Rs) tfin = 0 Rs.Close Mi pregunta es: ¿por qué funciona bien con el primer inversor cogiendo el ciclo de las plataformas y con los demás inversores pasa de largo sin coger el ciclo interior? Muchas gracias. Título: Re: Ciclo Do While anidado que no coge al ciclo interior Publicado por: Baldomero123 en 4 Enero 2018, 14:19 pm Solucionado. Entre las líneas 13 y 14 faltaba j = 0 para inicializar el contador del ciclo interior.
|