Problema con buscador
Hola de nuevo, a ver si alguien sabe qué falla..
La idea es:1.CUADRO LISTA (ListaCampos):(Lista donde se encuentran los campos por&&&los que a continuación buscará el texto independiente.)2.TEXTO INDEPENDIENTE (textoBuscado):(Al escribir me va buscando los registros en un subformulario.)3. SUBFORMULARIO (subBuscador): Contiene una lista donde quiero que se realice la búsqueda.
En el cuadro de lista tengo: Referencia, Descripción,familia,subfamilia y marca. Dos columnas, una con lo que quiero que se vea y otra con los nombres de los controles del subformulario.
Hasta ahí bien, al seleccionar uno, tengo un evento que me ordena el subformulario.El problema lo tengo en el texto independiente. Tengo un evento para que al cambiar, me vaya moviendo el selector de registros y me lleve al registro que voy tecleando.
Ahora, no me hace nada, como si no tuviera evento.
El código que tengo puesto es el siguiente:Private Sub textoBuscado_Change()'Compruebo que se haya seleccionado un campo para buscar, en otro caso'abortamos el procedimiento y presentamos un mensaje advirtiendo de que'es necesario seleccionar el campo por el que se desea buscarIf IsNull(Me.ListaCampos) Or Me.ListaCampos = "" Then MsgBox "Debe seleccionar el campo en el que se realizará la búsqueda", vbOKOnly,
"BÚSQUEDA IMPOSIBLE"
Me.textoBuscado = "" Exit SubEnd If
'Si texto buscado esta vacío nos colocamos en el primer registro.'Si no está vacío realizamos la búsquedaIf IsNull(Me.textoBuscado.Text) Or Me.textoBuscado.Text = "" Then Me.subBuscador.Form.Recordset.MoveFirstElse'Es importante usar, en este caso, la propiedad Text, pues si no hacemos referencia a'ella obtendremos una cadena que no contiene el último carácter que hallamos introducido Me.subBuscador.Form.Recordset.FindFirst Me.ListaCampos & " LIKE '" &
Me.textoBuscado.Text & "*'"If Me.subBuscador.Form.Recordset.NoMatch Then 'Si la búsqueda no obtiene resultado nos posicionamos en el primer registro Me.subBuscador.Form.Recordset.MoveFirst End IfEnd IfEnd Sub
El error está en:
Me.subBuscador.Form.Recordset.FindFirst Me.ListaCampos & " LIKE '" &Me.textoBuscado.Text & "*'"
He probado con filtros también, que me gustaba menos pero que al fin y al cabo vale, y tampoco, el "LIKE '", me está volviendo loca porque haga lo que haga, me falla ahí.
Espero que me entendáis y podáis ayudarme,Mil gracias,Cristina.