1
« en: Domingo 8 de Noviembre de 2009, 14:10 »
Hola amigos queria resolver un problema con unas busquedas en vb6 sobre access.
Mi problema es que cuando rwalizo el bucle para realizar las 4 busquedas una tras otra solo realiza bien la primera. las demas busquedas me las pasa con valor de EOF y BOF en verdadero.
Os paso el codigo para ver si alguien me puede decir que falla:
For i = 1 To 4
If i = 1 Then
jugador(i) = LCase(txt_chname(i).Text)
ElseIf i = 2 Then
jugador(i) = LCase(txt_chname(i).Text)
ElseIf i = 3 Then
jugador(i) = LCase(txt_chname(i).Text)
ElseIf i = 4 Then
jugador(i) = LCase(txt_chname(i).Text)
End If
rst1.Open "Reg", conexion, adOpenDynamic, adLockOptimistic
rst1.MoveFirst
find = "SELECT chips FROM Reg WHERE User like '%" & jugador(i) & "%'"
Set rst1 = conexion.Execute(find)
If rst1.BOF Or rst1.EOF Then <==== AQUI SALTA EL VERDADERO DESPUES DE LA PRIMERA BUSQUEDA.
msgbox ( " no existe")
Else
'r(i) es una matriz de 4 elementos los cuales almacenan los valores de las busquedas
r(i) = rst1.Fields("chips").Value
End If
't(i) son valores a comparar con los valores obtenidos de las busquedas, si son diferentes actualiza
If r(i) <> t(i) Then
sql = "update Reg set Chips='" & r(i) & "' WHERE User like '%" & jugador(i) & "%'"
rst.Open sql, conexion, adOpenDynamic, adLockOptimistic
Adodc1.Refresh
End If
NEXT I