** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - recordset findFirst
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradorecordset findFirst

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 449
Enlace directo a este mensaje Tema: recordset findFirst
    Enviado: 09/Noviembre/2017 a las 17:51
Hola,

no consigo encontrar la string "ML 320" dentro de mi otra string "MERCEDES-BENZ CLASSE ML 320 CDI 5 portas", que se encuentra en el campo marcaMod de mi recordset.

dim model as string
model = "ML 320"
with rst  ' 

    .FindFirst "marcaMod LIKE '*" & model & "*'"
        if .nomatch then
            msgbox( " no encuentra ML 320")
       end if
 end with

Alguna idea de lo que estoy haciendo mal ?
gracias
Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 11736
Enlace directo a este mensaje Enviado: 09/Noviembre/2017 a las 18:04
Ese código (asumiendo una correcta declaración del recordset que no vemos), funciona correctamente.

Lo que hace es buscar el texto "ML 320" dentro del campo marcaMod. Si no lo encuentra, muestra el mensaje. Si lo encuentra, no hace nada.

Function test()
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("SELECT * FROM Tabla1")
    Dim model As String
    model = "ML 320"
    With rst  '
        .FindFirst "Modelo LIKE '*" & model & "*'"
        If .NoMatch Then
            MsgBox ("No encontrado")
        Else
            MsgBox "Encontrado!"
       End If
    End With
End Function

Teniendo un registro con el valor MERCEDES-BENZ CLASSE ML 320 CDI 5 portas, ese código devuelve "Encontrado!"
Si cambio la búsqueda a ML 330, ese código devuelve NO encontrado
Xavi, un minyó de Terrassa

Mi web
Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 449
Enlace directo a este mensaje Enviado: 09/Noviembre/2017 a las 23:18
Xavi,
Es cierto lo que dices, y lo deberia haber testado de la misma forma que tu, pero en mi cabeza el problema era el .findfirst, y dai no salgo,  cuando en realidad era antes del findfirst al declarar el recordset tenia  un error que hacia con que no se incluyera en el recordset ese modelo de coche

en concreto era la variable "tra", la que causaba el fallo.

Set rst = db.OpenRecordset("SELECT * FROM tblCarrosPT WHERE marcaID =" & mar & " AND cv >" & Int(cav * 0.9) & " AND cv <" & Int(cav * 1.1) & " AND transmissao= " & """" & tra & """" & " AND combustivel= " & """" & com & """")

te agradezco tu amable ayuda
Saludos


Arriba
cpampasPT Ver desplegable
Asiduo
Asiduo
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 449
Enlace directo a este mensaje Enviado: 10/Noviembre/2017 a las 23:25
se me olvido decir , que podeis cerrar el hilo
gracias
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable