Visual Basic - A ver...¿QUÉ ES LO QUE ESTOY HACIENDO MAL?

Life is soft - evento anual de software empresarial
 
Vista:

A ver...¿QUÉ ES LO QUE ESTOY HACIENDO MAL?

Publicado por papakino (11 intervenciones) el 05/01/2005 20:35:46
A ver, señores...Tengo una base de datos hecha con Acces y Data1. El tema de las Altas, Bajas, Adelante, Atrás...etc, me lo hace sin problemas, pero a la hora de buscar un registro le meto el código siguiente y me da error en la linea que os indico...Ya no sé ni cómo hacerlo.¿Alguien tiene algúna idea o sabe qué es lo que estoy haciendo mal?. Muchísimas gracias por vuestra ayuda.

Private Sub Buscar_Click()
Dim buscado As String, criterio As String
buscado = InputBox("¿Qué Nombre quieres buscar?")
criterio = "nombre like '*" & buscado & "*' "
Data1.Recordset.MoveNext
Data1.Recordset.FindFirst criterio ' aquí me da el ERROR.

If Data1.Recordset.NoMatch Then
Data1.Recordset.MoveLast
MsgBox ("No encuentro ese nombre...")
End If

End Sub

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

RE:A ver...¿QUÉ ES LO QUE ESTOY HACIENDO MAL?

Publicado por Benjo (679 intervenciones) el 05/01/2005 21:31:42
Intenta con
criterio = "nombre like '%" & buscado & "%' "
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

RE:A ver...¿QUÉ ES LO QUE ESTOY HACIENDO MAL?

Publicado por papakino (11 intervenciones) el 05/01/2005 22:14:23
Gracias por tu respuesta, Benjo. Lo he probado y ...NADA. Tampoco.
Lo que pasa es que ahora SÍ QUE ME ENCUENTRA EL REGISTRO, pero la SEGUNDA y siguientes veces que le mando buscar. La PRIMERA vez que le digo de buscar me sale siempre por "registro no encontrado", aunque esté en la base de datos. La segunda vez que le digo de buscar ya me los encuentra, y las siguientes, tambien.
No entiendo el por qué la primera vez que se lo pido me sale por "no encontrado", y las demás veces los encuentra, si es que están y si no están sale tambien por "no encontrado"...ME ESTOY VOLVIENDO LOCO.
Gracias de todos modos por vuestra ayuda.
En el criterio sigo teniendo el "*" en vez del "%".
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

RE:A ver...¿QUÉ ES LO QUE ESTOY HACIENDO MAL?

Publicado por Benjo (679 intervenciones) el 06/01/2005 03:37:08
Algunas veces hay que rellenar el Recordset antes de realizar una búsqueda con la instrucciòn "Movelast" .
Puede que esa sea uno de los motivos por los cuales la primer orden de busqueda no la realice correctamente, ya que el Movenext no rellena el Recordset.

' Llenar el Recordset.
Data1.Recordset.MoveLast

Cuando utilices el método FindLast, el motor de base de datos Microsoft Jet llenará totalmente el objeto Recordset antes de iniciar la búsqueda, en caso de que no se hubiera hecho aún

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