un error inesperado

Fede
08 de Febrero del 2004
Private Sub Form_Load()
Dim i As Integer
contador = -1
contador2 = 0
Do
contador2 = contador2 + 1
contador = contador + 1
dato1 = Fomr1.List1.List(contador)
dato2 = Form1.List2.List(contador)
dato3 = Form1.List3.List(contador)
dato4 = Form1.List4.List(contador)
If dato1 = "" Then GoTo 1
numero = contador2
If dato3 = "" Then dato3 = 0
If dato4 = "" Then dato4 = 0
For i = 0 To Me.List2.ListCount
If Form2.List2.List(i) = dato2 Then
contador2 = contador2 - 2
Me.List3.List(i) = CDbl(Me.List3.List(i)) + dato3
Me.List4.List(i) = CDbl(Me.List4.List(i)) + dato4
Else
Me.List1.AddItem numero
Me.List2.AddItem dato2
Me.List3.AddItem dato3
Me.List4.AddItem dato4
Me.List11.AddItem dato1
End If
1 Exit For
Next i
Loop Until Form1.List3.List(contador) = Empty And Form1.List4.List(contador) = Empty And Form1.List2.List(contador) = "------------------------------------------------------------------------------------------------------------------------------------" And Form1.List2.List(contador + 1) = Empty
End Sub

Explico: esto lo que por mi logica lo que tendria que hacer es leer los datos que hay en los 4 list del Form1, y pasarlos al Form2(Me)
de forma que si el Dato2 ya esta impreso en este, le sume al valor que tiene en el Form1 el valor antes pasado al Form2 (espero que se
me entienda). Luego para terminar debe coincidir que los datos... bueno si leen el Loop Until van a entender cuando termina. Pero el
problema es que yo ingreso un dos renglones en los list con los datos de cada uno, los vuelvo a ingresar esperando que si yo tengo por ejemplo
platos 100 0
vasos 0 100
y los vuelvo a ingresar de forma identica me tendria que quedar:
platos 200 0
vasos 0 200
pero en lugar de mostrar esos datos en el Form2, muestra esto:
platos 200 0
vasos 0 100
vasos 0 100
se que es dificil de entender pero si alguien puede, y logra encontrar mi error por favor ayudenme
TRATE DE EXPLICARME LO MEJOR POSIBLE, GRACIAS POR SU ESFUERSO POR ENTENDER CUALQUIER DUDA ESCRIBANME

en?
08 de Febrero del 2004
claro Fede,

For i = 0 To Me.List2.ListCount
If Form2.List2.List(i) = dato2 Then
...
Else
...
End If
1 Exit For ◄─── siempre sale del bucle cuando i=0
Next i

en?
08 de Febrero del 2004
(ESTOS SÍMBOLOS ◄─── ERAN FLECHAS QUE SE HAN TRADUCIDO MAL)

un saludo.

iojio
08 de Febrero del 2004
><

en?
08 de Febrero del 2004
a ver incrédulo, teclea

Alt + 17 y luego Alt + 196, y me lo vuelves a decir.

fede
08 de Febrero del 2004
alt +16 es un signo d epregunta y alt + 196 es un guion :S, q tendrian q ser?

en?
08 de Febrero del 2004
Fede, mi anterior respuesta iba dirigida al usuario "iojio", que se imaginó que me refería a estas flechas "< >", y yo me refería a estas otras "&#9668; &#9658;".

La respuesta que a tí se refiere es la primera que dí. Que la razón por la cual sólo suma el primer elemento es porque después del primer valor del contador 'i' sale del For.

un saludo.

fede
08 de Febrero del 2004
Hola no entiendo por q tengo q poner esto "&#9668; &#9658;". y si no lo pongo osea q pongo Exit for i=0 me dice q falta completar la instruccion. :S

en?
08 de Febrero del 2004
no fede, no me refería a eso, lo que deberías hacer es eliminar la linea del Exit For

Fede
08 de Febrero del 2004
si saco el exit for esto e slo q pasa:
1 platos 200 0
2 basos 0 300
2 platos 200 0
-1 basos 0 200
-1 basos 0 100

en?
08 de Febrero del 2004
pues no lo acabo de comprender.
Si quieres enviamelo y veremos.