elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Ciclo Do While anidado que no coge al ciclo interior
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ciclo Do While anidado que no coge al ciclo interior  (Leído 7,013 veces)
Baldomero123

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Ciclo Do While anidado que no coge al ciclo interior
« 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.


En línea

Baldomero123

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Ciclo Do While anidado que no coge al ciclo interior
« Respuesta #1 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.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un ciclo
Java
xAgramonx 3 3,374 Último mensaje 25 Noviembre 2010, 19:30 pm
por xAgramonx
Proyecto de fin de ciclo
Foro Libre
Khronos14 5 4,380 Último mensaje 31 Marzo 2011, 23:49 pm
por Jake Logan
Ciclo exacto
Programación C/C++
neeeko 1 2,791 Último mensaje 22 Febrero 2013, 04:59 am
por 85
problema con un ciclo do while
Programación C/C++
diegoalberto_garcia95 7 4,325 Último mensaje 10 Marzo 2013, 23:00 pm
por diegoalberto_garcia95
ciclo for()
Programación C/C++
noah222 2 6,893 Último mensaje 18 Abril 2013, 15:23 pm
por rir3760
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines