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

Tema cerrado.FindFirst

 Responder Responder
Autor
Mensaje
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 537
Enlace directo a este mensaje Tema: .FindFirst
    Enviado: 14/Noviembre/2018 a las 21:14
hola
Tengo una string que es :

dim str as string
str="Throttle Close Learning Val."

Lo que pretendo es encontrar en un campo de mi tabla el texto exactamente igual, o bien el texto aproximado, ya que se puede haber escrito con abreviaciones, por exemplo las siguientes opciones :

encontraria :

Throttle Close Learn. Val.
Throttle Close Learning Value
Throttle Cl. Learn. Val.

pense  en  :
.FindFirst "[miCampo] like ""*" & str & "*"""

No es la solucion para  encontrar las 3 opciones.
Alguien me da una idea por donde deberia intentarlo ?
Saludos
Arriba
lupecinda Ver desplegable
Habitual
Habitual
Avatar

Unido: 22/Abril/2005
Localización: España
Estado: Sin conexión
Puntos: 81
Enlace directo a este mensaje Enviado: 15/Noviembre/2018 a las 14:13
Hola.
dim str1, str2, str3 as string
str1="Throttle Close Learn"
str2="Throttle Close Learning"
str3="Throttle Cl. Learn"
.FindFirst "([miCampo] like ""*" & str1 & "*""" & "") OR "([miCampo] like ""*" & str2 & "*""" & "") OR "([miCampo] like ""*" & str3 & "*""" & "")"

Probablemente hay algun fallo en la construcción de la sentencia.

Saludos
Carlos
Carlos
Lupita
Arriba
emiliove Ver desplegable
Moderador
Moderador


Unido: 16/Junio/2009
Localización: Mexico
Estado: Sin conexión
Puntos: 5212
Enlace directo a este mensaje Enviado: 15/Noviembre/2018 a las 14:56
Otra idea es que busques en mis funciones favoritas ejemplos de Vimipas, el tiene mucho tiempo optimizando buscadores.

Saludos.
Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 537
Enlace directo a este mensaje Enviado: 15/Noviembre/2018 a las 20:45
Lupita ,
Gracias por tu ejemplo que funcionaria perfecto  si no es porque puede haber en mi tabla  otras opciones aparte de las 3 string que mencionas , o sea lo que yo pretendo es conseguir  casar dos string sino iguales lo mas parecidas posibles

Emiliove, voy a verificar tus ejemplos de busqueda que me dices.
De momento estoy intentando comparar cada una de las palabras de la string con el operador like

Luego os cuento como me fue
Gracias por la ayuda

Arriba
cpampasPT Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 20/Marzo/2010
Localización: Portugal
Estado: Sin conexión
Puntos: 537
Enlace directo a este mensaje Enviado: 17/Noviembre/2018 a las 08:05
Buenas,
Al final  me funciono de la mejor forma , verificando cada una de las palabras de la string, y segun se encuentra  una coincidencia aunque parcial le voy dando una punctuacion a ese registro, y finalmente se escoje el registro que tenga mas punctuaciones ( o se el que tenga mas palabras total o parcialmente coincidentes.
Podeis cerrar el  hilo y Gracias por Vuestra colaboracion
-----------------------------------------------------
str= "Throttle Close Learning Val."                   
     LArray = Split(str)
                   For Y = LBound(LArray) To UBound(LArray)
                           Call Pcheck(LArray(Y))
                   Next


---------------------------------------------------
Public Function PCheck(palabra) As Long

    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("tblTis", dbOpenDynaset)
    Dim n As Integer

    With rst
        While Not .EOF
            If rst(1) Like "*" & palabra & "*" Then
              .Edit
                !Match = !Match + 1 
              .Update
            End If
            .MoveNext
        Wend
    End With

    rst.Close
    Set rst = Nothing

    CurrentDb.Close
End Function



Editado por cpampasPT - 17/Noviembre/2018 a las 08:06
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable