VB 6.0 con Access, no logro encontrar registros...

Tengo hecho un programita con VB 6.0, y una Base Access, en la que grabo, borro, edito Etc, pero cuando quiero buscar (Con el siguiente codigo), me dice que el registro no existe, cuando yo corroboro que si ¿?

Desde ya muchas gracias.

Claudio

--------------------------------------------------------------------------------------------------------------

Private Sub Buscar_Click()

x = InputBox("Ingrese Nombre", "BUSQUEDA POR NOMBRE")

Adodc1.Recordset.MoveFirst
While Not (Adodc1.Recordset.EOF = True)

If UCase(x) = Adodc1.Recordset(2) Then
Exit Sub
End If
Adodc1. Recordset. MoveNext
Wend
MsgBox ("NO SE ENCUENTRA ESE NOMBRE")
Adodc1. Recordset. MoveFirst

End Sub

---------------------------------------------------------------------------------------------------------------------

Respuesta

Podrías probar algo así:

Private Sub Buscar_Click()
Dim rst AS DAO.Recordset
x = InputBox("Ingrese Nombre", "BUSQUEDA POR NOMBRE")
x=UCase(x)
Set rst = Adodc1.RecordSetClone
rst.MoveFirst
rst.FindFirst "NombredeCampo = """ & x & """"
If Not rst.EOF Then
    Adodc1.BookMark = rst.BookMark
Else
    MsgBox “NO SE ENCUENTRA ESE NOMBRE”
End If
Set rst = Nothing
End Sub

En lugar del bucle utilizamos el método findfirst, y en lugar del número de campo, su nombre.

Ante todo, muchas gracias por tu respuesta, pero no me ha funcionado, el código tal como esta el VB 6.0 no me lo acepta...

Vaya, pensaba que el código lo tirabas en access.. de todos modos me da que donde tu código está fallando es justo en el if...

¿Puedes intentar igualar por nombre de campo en lugar de por número de campo?

Del mismo modo, utilizar el método find será más óptimo que un bucle, puedes ver aquí un ejemplo:

http://programacion.yoreparo.com/programacion/busqueda-con-un-adodc-en-visual-basic-60-t209563.html

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas