Access - Búsqueda cuadro combinado "coincidir cualquier parte del campo"

 
Vista:

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 13/03/2019 11:27:22
Buenos días,
hace tiempo realicé en Access un formulario para poder visualizar los detalles de los alumnos en mi base de datos, le puse un cuadro combinado arriba para que pudiese buscar a los alumnos ya sea o escribiendo como se llaman o dándole al despegable,
El problema es el siguiente:

En el cuadro combinado solo me deja escribir el nombre exacto para que aparezca las sugerencias de búsqueda, es decir, si el niño de llama Juan Pablo, si pongo Ju... ya empieza a darme de sugerencia Juan Pablo, pero, si pongo Pablo, me aparecen como sugerencias los que empiezan por Pablo.

Ahora bien, lo que me gustaría realizar es que, si escribo Pab..., porque no me acuerdo que el niño se llama Juan Pablo, me aparezcan todos los alumnos que tienen en su nombre el Pab...
Vamos, que coincida con cualquier parte del campo, no únicamente con el inicio del nombre,

¡Gracias!
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 13/03/2019 20:47:10
Hola,

Puedes adaptar este ejemplo adjunto que encontré. Creo que es lo que quieres.
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

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 26/03/2019 12:01:18
Buenos días,
Muchas gracias, es justo lo que estaba buscando, pero tengo problemas cuando realizado la búsqueda en el ejecutable que he creado. Al darle al click en la selección de la búsqueda no se me abre la página del formulario de ese alumno en concreto , si no el formulario donde están todos los alumnos.
¿Alguna idea?

Gracias.
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 26/03/2019 12:47:20
Hola,

En el cuadro de lista lstItems, en propiedades hay una macro al hacer doble click, has configurado el nombre del formulario correcto?
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

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 26/03/2019 13:01:00
Si,y el formulario se abre, pero si hay por ejemplo 200 alumnos se me abre el formulario por la pag 1, no por la pag del alumno en cuestión.
No sé si me explico.
La idea de crear ese ejecutable de busqueda era que al hacer click en "pepito" se me abra el formulario por la pag de pepito que aloemjor es la 120 y no por la pag 1.
GRACIAS
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

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 26/03/2019 13:06:04
Imagino que será con la condición WHERE para poder mandarle la orden de que abra la pag exacta...
pero por más que pruebe no consigo hacerlo.
he puesto en el generador de macros formulario (el nombre del formulario que tiene que abrir) y en condicion WHERE: [Formularios]![ALUMNOS]![Alumno] (entendiendose por ALUMNOS el nombre del formulario y alumno el nombre de la casilla que debe de coincidir con el ejecutable de busqueda y con el nombre del alumno que se debe de abrir en el formulario de los alumnos.
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 26/03/2019 13:57:41
Pero si miras la base de datos de ejemplo, sí que te abre directamente al registro que tú clicas en el lstItems.

No se donde puedes haber cambiado algo y por eso no te va al registro directamente. El ejemplo no tiene ninguna condición Where que yo vea.
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

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 26/03/2019 14:10:00
No tiene condición WHERE como indicas, pero la BBDD que está en el ejemplo cuando abres el formulario de detalle que se llama "contacto" no te deja abrirlo, solo te deja ver el detalle de los contactos si lo abres a través del formulario de búsqueda "buscarReg"
en mi caso, tengo el formulario "ALUMNOS" vinculado a la tabla donde aparecen los datos de esos alumnos, y aparte, el ejecutable de búsqueda como en el ejemplo, que efectivamente me deja buscar aunque el nombre no sea exacto, pero no consigo que al darle click como en el ejemplo me abra el formulario con el alumno exacto, así que imagino que al tenerlo y configurado para poder abrir el formulario de detalles no únicamente al abrirlo desde el formulario de búsqueda el código será distinto..

Gracias por la velocidad de respuesta.
:)
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 26/03/2019 18:22:56
Ok, no me di cuenta.

Borra la macro al hacer doble click.

Inserta este código en su lugar:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub lstItems_DblClick(Cancel As Integer)
 
Dim rst As Recordset
 
If Me.lstItems.ListCount = 0 Then
MsgBox "No hay datos", vbInformation, "Sin datos"
Exit Sub
End If
 
DoCmd.OpenForm "Alumnos"
 
Set rst = Forms!Alumnos.RecordsetClone
rst.FindFirst "RecordId =" & Me.lstItems
Forms!Alumnos.Bookmark = rst.Bookmark
 
Set rst = Nothing
 
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 26/03/2019 18:59:57
Pon mejor este que si no da error al tener el lstItems vacío:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Private Sub lstItems_DblClick(Cancel As Integer)
 
On Error Resume Next
 
Dim rst As Recordset
 
If lstItems.ItemsSelected.Count = 0 Then
 
MsgBox "No hay datos", vbInformation, "Sin datos"
 
Else
 
DoCmd.OpenForm "Alumnos"
 
Set rst = Forms!Alumnos.RecordsetClone
rst.FindFirst "RecordId =" & Me.lstItems
Forms!Alumnos.Bookmark = rst.Bookmark
 
DoCmd.Close acForm, "BuscarReg"
 
End If
 
Set rst = Nothing
 
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

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por F. (12 intervenciones) el 02/04/2019 10:43:13
MUCHÍSIMAS GRACIAS
funciona a la perfección, llevaba días intentándolo y no había forma, y ha sido poner el código y funcionar a la primera.
GRACIAS


No sé si también entenderás de EXCEL, pero me gustaría crear un botón que activase y desactivase esta función:

1
2
3
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = True
End Sub

¿Sabes como se podría realizar?


Un saludo
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 Juan
Val: 414
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por Juan (150 intervenciones) el 02/04/2019 12:15:47
Para desactivar es poniendo False al principio, tras realizar lo que quieres se vuelve a poner en True.

1
2
3
4
5
6
7
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
 
'Poner el código a ejecutar.
 
Application.ScreenUpdating = True
End Sub[

No uso VBA de excel, si quieres más ayuda tendrías que buscar en el foro de Excel.

Saludos,

"Recuerda valorar las respuestas, valorar es agradecer"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Búsqueda cuadro combinado "coincidir cualquier parte del campo"

Publicado por WILFER (1 intervención) el 21/05/2019 04:54:56
Cual ejemplo adjunto que encontraste, tambien me interesa este procedimiento, pero no veo ninguno... me ayudas con eso, por favor, Gracias
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