none
Busqueda en el medio del nombre mediante ComboBox RRS feed

  • Pregunta

  • El problema es que tengo una lista de articulos que comienzan todos de la misma manera (por ej: aceite 900cc, aceite 1500cc, aceite 3000cc) y cada vez que quiero buscar uno en un combobox para ingresarlo es necesario tipear todo el principio del articulo (en este caso "aceite "). Lo que yo quisiera es que tipeando SOLO la parte del texto diferenciante DEL MEDIO del nombre del articulo (ej: "1500") me lo busque.

    Desde ya MUCHAS GRACIAS

    Cesar 

    sábado, 9 de octubre de 2010 20:17

Todas las respuestas

  • Si todos los registros tienen la palabra "aceite" al principio, una posibilidad es modificar el origen de la fila del cuadro combinado, y usar una función del tipo Mid o Right para recoger sólo el número. Así, como en la columna sólo tendrás los números, será lo único que tendrás que escribir para buscar el deseado.

    Otra posibilidad es tener un registro "falso" con la palabra aceite, y que esté seleccionado por defecto (valor predeterminado) en los registros nuevos. Como aparecerá esta palabra, ya sólo tienes que ponerte al final del texto y escribir el resto. En este caso, por supuesto, deberás comprobar que no se intenta guardar este valor, sino uno válido.

    domingo, 10 de octubre de 2010 12:48
  • Puedes utilizar una consulta sql y LIKE cada vez que se presiona una tecla. Por ejemplo, el siguiente código busca en la medida que el usuario introduce el valor a buscar en un cuadro de texto de nombre valor :

    ....

            strCad = "SELECT Destinatarios.idDestin, Destinatarios.Nombres, Destinatarios.Telefono, " _
                & "Destinatarios.Email, Destinatarios.FNace " _
                & "FROM Destinatarios " _
                & "WHERE ((Destinatarios.Nombres LIKE '* " & valor.Text & "* '))"
           ' FlexG.Clear
            rst.Open strCad, conn, 1, 4
    ....

    Los asteriscos son conocidos como caracteres comodines. Busca en la ayuda de Microsoft Access.

    lunes, 11 de octubre de 2010 1:28