Imprimir página | Cerrar ventana

Formulario de busqueda por dos campos

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84992
Fecha de impresión: 27/Marzo/2026 a las 06:01


Tema: Formulario de busqueda por dos campos
Publicado por: Endless
Asunto: Formulario de busqueda por dos campos
Fecha de publicación: 07/Febrero/2020 a las 18:39
Hola buenas a todos,

Quisiera si alguno de ustedes me puede orientar un poco con un formulario de búsqueda,

Tengo el siguiente problema, el formulario en si, funciona, pero no de la mejor manera y no sé como hacerlo de una mejor forma (estoy aprendiendo de manera autodidacta lo que es vba). Quiero que el filtro me busque por Nombre de producto y Por Nombre de Familia.



Las tablas que tengo son las siguientes:



Y las llamo mediante VBA


El buscador funciona, busca, pero se demora demasiado en buscar y creo que se puede mejorar (al parecer en vez de buscarme "850" registros esta buscando "67000" y por eso se demora tanto en filtrar la busqueda).

Si alguien tuvo este error por favor que me ayude. (Busque en el foro pero no encontré )



Respuestas:
Publicado por: mounir
Fecha de publicación: 07/Febrero/2020 a las 19:52
Hola!

No se ve tu código, si quieres postearlo (copiar y pegar).

Independientemente de eso, ha salido un duda similar hace poc en este hilo http://www.mvp-access.com/foro/filtrar-formulario-por-dos-campos_topic84986.html" rel="nofollow - Búsqueda por dos campos. y aquí explican el ejemplo:
http://www.accessyexcel.com/microsoft-access-filtrar-formulario-usando-vba-uniendolo-todo/" rel="nofollow - Filtrar formulario usando VBA – Uniéndolo todo

-------------
Un Saludo.


Publicado por: Endless
Fecha de publicación: 07/Febrero/2020 a las 20:07
Lo subí como imagen, aquí esta el código

'=================================
'BUSCADOR INTELIGENTE POR PALABRA
'=================================

Private Sub txt_buscar_Change()
Dim consulta As String

    consulta = "SELECT pdt.id_producto As Id, pdt.Nombre As Producto, und.Nombre As Unidad, fmla.Nombre As Familia " & _
    "From Producto As pdt, Producto_unidad As und, Producto_Familia As fmla " & _
    "Where pdt.Nombre Like '*" & Me.txt_buscar.Text & "*' And pdt.Unidad_id = und.Id_Unidad " & _
    "and pdt.Familia_id=fmla.id_Familia  "
    'or fmla.Nombre Like ""*" & Me.txt_buscar.Text & "*""
    Me.Lst_producto.RowSource = consulta
    Me.Etq_Producto.Caption = "SE ENCONTRARON " & Me.Lst_producto.ListCount - 1 & " PRODUCTOS"

End Sub


Publicado por: mounir
Fecha de publicación: 07/Febrero/2020 a las 20:23
Hola!

¿Es formulario o ListBox èsto "Lst_producto"?

Si es formulario tendría que ser su RecordSource y no RowSource.

-------------
Un Saludo.


Publicado por: VIMIPAS
Fecha de publicación: 07/Febrero/2020 a las 21:28
Hola buenas noches.

Y aquí te dejo mas madera para que estudies:

http://www.mvp-access.com/foro/combos-cuadros-lista-subformularios-like-e-instr_topic81077.html" rel="nofollow - http://www.mvp-access.com/foro/combos-cuadros-lista-subformularios-like-e-instr_topic81077.html

Saludos.


-------------
Gracias


Publicado por: Endless
Fecha de publicación: 07/Febrero/2020 a las 21:52
Publicado originalmente por mounir mounir escribió:

Hola!

¿Es formulario o ListBox èsto "Lst_producto"?

Si es formulario tendría que ser su RecordSource y no RowSource.


Perdón, Sí, Lst_producto corresponde a un listbox, ahí es donde se me muestran las busquedas que realizo.

A continuación subo 2 gifs de como funciona el formulario

Código VBA (ListBox): http://i.imgur.com/MKhm6S9.gif" rel="nofollow - https://i.imgur.com/MKhm6S9.gif

Como funciona el formulario: http://i.imgur.com/RVf1xJr.gif" rel="nofollow - https://i.imgur.com/RVf1xJr.gif

PD: los botones de opciones, están solo de adorno, no están haciendo nada.




Publicado por: mounir
Fecha de publicación: 07/Febrero/2020 a las 22:06
Hola!

Es dificil por lo menos para mí saber cual es el motivo, ya que no dispongo del fichero.
De todas formas el ejemplo del compañero VIMIPAS hace lo que buscas.

-------------
Un Saludo.



Imprimir página | Cerrar ventana