Visual Basic - no se ejecuta correctamente el bucle for

Life is soft - evento anual de software empresarial
 
Vista:

no se ejecuta correctamente el bucle for

Publicado por uri_lop (2 intervenciones) el 19/01/2016 15:03:47
antes que nada un saludos a toda la comunidad, estoy utilizando vb6 , con base de datos en acces 2003, bueno mi problema consiste en bucle for, realizo una ciclo para ir sumando los totales, se tiene que repetir n veces según sea el tamaño del registro, pero solo se repite una vez, aparte que pasa algo extraño, este bucle funcionaba a la perfección, el problema empezó cuando sobrescribir la base de datos, ya que tenia un respaldo y lo necesitaba, todos modos anexo el codigo por si el problema es programacion, espero contar con su valiosa ayuda, gracias...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim Total '''variable para ir sumando
Dim Ganancia
With RSVentaDiaria 'llamo a la tabla
.Requery                'actualizo
.MoveFirst              'nueve el punto al primer registro
For x = 0 To .RecordCount 'ejecuto un ciclo para recorrer la base del 1 hasta el total de registro
  If DTPfecha.Value = !Fecha Then 'hago una condicion para saber si la venta pertenece a la fecha que estoy buscando
     Total = Total + Val(!Total_a_Pagar)  ' suma de la ventad diaria
     Ganancia = Ganancia + Val(!Utilidad)
  Else
      If x = .RecordCount Then ' si la variable llego al final muestro el total en el los label
        Label13.Caption = Total
        Label14.Caption = Ganancia
 
      End If
 
   End If
   .MoveNext ' avanzo al siguiene regisro
Next ' avanzo el for
End With
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 147
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

no se ejecuta correctamente el bucle for

Publicado por Juan Gilberto (323 intervenciones) el 19/01/2016 18:26:21
1
2
3
4
5
6
7
8
9
10
11
12
13
With RSVentaDiario
    .Requery
    .MoveFirst
    Do Until .EOF = True
        If DateValue(DTPfecha.Value) = dateValue(!Fecha) Then
            Total = Total + Val(!Total_a_Pagar)
            Ganancia = Ganancia + Val(!Utilidad)
            Label13.Caption = Total
            Label14.Caption = Ganancia
        End If
        .MoveNext
    Loop
End With

Es mejor utilizar el Do-Loop porque a en ciertas condiciones el RecordCount no funciona (tienes que recorrer toda la tabla o ir a EOF para que swe actualice)

Los campos Total_a_Pagar y Utilidad deberias tenerlos en tipo de datos Single o Double para evitar el uso del VAL
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

no se ejecuta correctamente el bucle for

Publicado por uri_lop (2 intervenciones) el 22/01/2016 02:16:17
excelente, gracias juan gilberto, asi lo resolvi con el do-loop, slaudos a toda la comunidad...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Andres Leonardo
Val: 3.117
Oro
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

no se ejecuta correctamente el bucle for

Publicado por Andres Leonardo (1798 intervenciones) el 19/01/2016 19:45:35
en el bucle .... en el next

utiliza


Next x ' avanzo el for y aumenta el contador....!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar