Access - Formulario de busqueda

 
Vista:

Formulario de busqueda

Publicado por Butako (3 intervenciones) el 16/02/2022 13:33:27
Saludos!!!

Estoy haciendo un formulario de búsqueda y quería hacer un campo don pusiera el nombre y apellidos de la persona para buscar. Solo soy capaz de buscar por un campo y mi idea es tener la posibilidad de poder buscar por el campo nombre, campo primer apellido y campo segundo apellido. Me estoy peleando con la linea stLinkCriteria, pero no soy capaz.
Os dejo el código más abajo
Muchas gracias.

Private Sub Buscarnombre_Click()
On Error GoTo Err_Buscarnombre_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "usuarios"

stLinkCriteria = "[Nombre]='" & Me![Texto33] & "'"
DoCmd.OpenForm stDocName, , , stLinkCriteria

Exit_Buscarnombre_Click:
Exit Sub

Err_Buscarnombre_Click:
MsgBox Err.Description
Resume Exit_Buscarnombre_Click


End Sub
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Samuel
Val: 62
Ha disminuido su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Formulario de busqueda

Publicado por Samuel (43 intervenciones) el 17/02/2022 08:37:05
Hola, lo que tienes que hacer es usar el operador "OR" de la siguiente manera:


1
2
3
4
5
6
7
8
9
10
'Instrucción SQL que busca una coincidencia con el Nombre o Apellido Paterno o Apellido Materno.
stLinkCriteria = CStr("([Nombre]='?') OR ([Apellido1]='?') OR ([Appellido2]='?')")
 
'Se remplaza el parámetro '?' por el valor de las cajas de texto.
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Nombre.Value,""), 1, 1)
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Apellido1.Value,""), 1, 1)
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Apellido2.Value,""), 1, 1)
 
'Se abre el formulario "Usuarios" aplicando el criterio de las cajas de texto.
Call DoCmd.OpenForm("Usuarios", , , stLinkCriteria)


Espero que te sea útil....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario de busqueda

Publicado por Butako (3 intervenciones) el 17/02/2022 08:58:32
Muchas gracias Samuel, por la ayuda, pero al copiar tu código y adaptarlo, me dice ahora No se encontró el método o el dato miembro

Private Sub Buscarnombre_Click()
On Error GoTo Err_Buscarnombre_Click

Dim stDocName As String
Dim stLinkCriteria As String

stDocName = "usuarios"

stLinkCriteria = CStr("([Nombre]='?') OR ([Apellido1]='?') OR ([Apellido2]='?')")

'Se remplaza el parámetro '?' por el valor de las cajas de texto.
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Nombre.Value, ""), 1, 1)
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Apellido1.Value, ""), 1, 1)
stLinkCriteria = Replace(stLinkCriteria, "?", Nz(Me.Apellido2.Value, ""), 1, 1)

'Se abre el formulario "Usuarios" aplicando el criterio de las cajas de texto.
Call DoCmd.OpenForm("usuarios", , , stLinkCriteria)

Exit_Buscarnombre_Click:
Exit Sub

Err_Buscarnombre_Click:
MsgBox Err.Description
Resume Exit_Buscarnombre_Click


End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Formulario de busqueda

Publicado por Eduardo (317 intervenciones) el 24/02/2022 17:57:00
Elaboré una función que le puede servir para elaborar filtros y búsquedas complejas.


superfiltro_inicio


superfiltro_00

El archivo adjunto contiene las instrucciones de uso
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario de busqueda

Publicado por Butako (3 intervenciones) el 04/03/2022 08:36:44
Muchísimas gracias Eduardo.

Voy a echar un vistazo a los adjuntos y seguro que puedo sacar algo útil.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Vba Access
Val: 485
Plata
Ha aumentado 1 puesto en Access (en relación al último mes)
Gráfica de Access

Formulario de busqueda

Publicado por Vba Access (26 intervenciones) el 04/03/2022 19:59:09
Hola.

Te dejo el siguiente video, en el te enseño como hacer un formulario de busqueda sin programar.

https://www.youtube.com/watch?v=PcSuuOSRUHY&t=

Te dejo mi canal de YouTube talvez algún video te sea útil.
https://www.youtube.com/c/VBAAccess?sub_confirmation=1

Si tienes alguna duda me puedes escribir al siguiente correo:
[email protected]

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Formulario de busqueda

Publicado por Eduardo (317 intervenciones) el 04/03/2022 21:45:02
Estuve mirando su video pero es algo muy simple, no permite consultar rangos de fechas y todo tipo de control, ahora dice "sin programar", esto fuera si no existiera al menos una línea de código y usted incorpora un módulo que se limita a realizar búsqueda solo con el operador OR, es decir, no hay forma de construir una consulta compleja. De todas maneras lo felicito para ese tipo de búsquedas tan simples está excelente.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Formulario de busqueda

Publicado por Eduardo (317 intervenciones) el 04/03/2022 22:50:51
Lástima que tampoco haga búsqueda de palabras con acentos, es decir, si hay apellidos, perez, pérez y digitamos pe solo toma los que no tengan acento. Sería bueno hiciera este arreglo y así se la adjunto a mi ejemplo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Eduardo

Formulario de busqueda

Publicado por Eduardo (317 intervenciones) el 05/03/2022 21:38:38
Adjunto nueva versión se adicionó la búsqueda con acentos sobre todos los campos de una tabla o consulta. Incluye una nueva función.

superfiltro_2_2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar