Access - Buscar registro dentro de Formulario

   
Vista:

Buscar registro dentro de Formulario

Publicado por antonio (114 intervenciones) el 17/07/2010 09:44:49
Hola a todos,

tengo un Formulario principal, donde registro todos los proyectos que tengo con diversa informacion. Cuando son ya 500 quiero crear un boton que me ayude a buscar un proyecto en concreto. dentro de las herramientas creo uno, pero no busca por el nombre del proyecto.
Al formulario proyecto llego a traves de un panel de control previo que he creado.

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

RE:Buscar registro dentro de Formulario

Publicado por 2PL (461 intervenciones) el 17/07/2010 11:38:12
Hay varias formas de buscar un registro dentro de un formulario, yo utilizo lo suiguiente que quizas no sea muy ortodoxo, pero me funciona.
ejemplo:

Campo de la tabla [GP00NFIC] por el que quiero buscar, campo combinado (en este caso le llamo BuscarOperario) con los campos que quieras "Origen de la fila" SELECT GP01NFIC, GP01NOMB, GP01SITU FROM [GAD GPFIC01] ORDER BY GP01SITU, GP01NOMB;
"Columna dependiente" en este caso la 1

El campo GP01NFIC lo envias al fondo y le superpones el campo "BuscarOperario"

En el evento "Despues de actualizar" del campo "BuscarOperario" pones esto
1
2
3
4
Private Sub BuscarOperario_AfterUpdate()
    Me!GP01NFIC.SetFocus
    DoCmd.FindRecord Me!BuscarOperario
End Sub

Algo complicadillo, pero con un poco de paciencia lo lograrás.
Saludos
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

RE:Buscar registro dentro de Formulario

Publicado por Petruss (1 intervención) el 06/07/2017 08:29:06
Va suave como la seda. Procedimiento sencillo y practico, Muchas 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

RE:Buscar registro dentro de Formulario

Publicado por QUIQUE (293 intervenciones) el 17/07/2010 17:05:43
Antonio:

Solo por abundar , te explico otro modo que podes sumar al que ya te envió 2PL.

En el encabezado del Form creas un cuadro de texto que llamaremos "TXT1" y un boton al que llamaremos "cmd1" sin el asistente.
En el detalle del Form le colocas los campos que queres vidualizar y el origen del Form debe ser la tabla donde estan los datos.
En el evento "click" del Boton le colocas el siguiente código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CMD1_Click()
 
If txt1 <> "" Then  ' si no está vacio nuestro cuadro de texto
Me.RecordSource = "select * from TUTABLA where TUCAMPO like '*" & txt1 & "*'"
 
End If
 
If txt1 = "" Then ' si esta vacio el cuadro de texto
MsgBox "DEBE INGRESAR UN TEXTO PARA INICIAR LA BÚSQUEDA", vbOKOnly, "ATENCION"
txt1.SetFocus ' devuelve el enfoque al cuadro de texto
End If
If Me.RecordsetClone.RecordCount = 0 Then ' si no encuentra nada
 
MsgBox "NO SE ENCONTRÓ EL TEXTO BUSCADO", vbOKOnly, "AVISO"
 
End If
 
Exit Sub
End Sub
Los asteriscos tienen la propiedad de que si no recordas el nombre completo y solo parte de el nombre , te arrojara todos los resultados coincidentes
EJ: "EZ"
PER_ EZ
GOM_EZ
GIMEN_EZ
EZ_EQUIL

Debes cambiar donde dice "TUTABLA" por el nombre de la tabla donde buscas y donde dice "TU CAMPO" por el campo que buscaras el nombre del proyecto.
Podes copiar el código y luego de pegar poner los nombres.

Espero que te sirva ó por lo menos conozcas otra forma de hacer una búsqueda.

QUIQUE
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

RE:Buscar registro dentro de Formulario

Publicado por 2pl (461 intervenciones) el 17/07/2010 18:18:11
Quique, tu codigo lo puedes simplificar, no te haria falta el botón CMD1, en el evento "Después de actualizar" del campo TXT1, pones el mismo codigo.
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

RE:Buscar registro dentro de Formulario

Publicado por QUIQUE (293 intervenciones) el 17/07/2010 23:34:27
SI ES CIERTO 2PL, PERO COMO EL POST ORIGINAL HABLA DE UN BOTON OPTE POR COLOCARLE UNO.

QUIQUE
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

RE:Buscar registro dentro de Formulario

Publicado por antonio (114 intervenciones) el 18/07/2010 09:15:02
Buenos días,

Muchas gracias por este debate creado pues me está ayudando bastante.
Os comento,
El botón lo creo porque creo que es mas intuitivo, pero tiene razón 2PL.
Ahora bien, mira que la explicación es bastante clara, pero no sale.
Comienzo creando un cuadro de texto (del cuadro de herramientas) y renombro el texto nº por TXT1. quedando el cuadro independiente para poner el proyecto que busco NO?
El problema me surge con el botón, crear uno sin el asistente no sé. Lo que he hecho es crear uno y cuando me dice que quiero hacer es cancelar. Despues lo renombro.
Pero desafortunadamente no da resultado.

Espero que me podais echar un cable nuevamente.

Muchas 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

RE:Buscar registro dentro de Formulario

Publicado por QUIQUE (293 intervenciones) el 18/07/2010 17:50:32
ESTIMADO ANTONIO:

CREAR UN BOTON SIN EL ASISTENTE , ES TOMAR LA FLECHA DE SELECCION Y DESACTIVAR LA VARITA MÁGICA QUE TENES EN LA BARRA DE HERRAMIENTAS Y LUEGO CONTINUAS CON EL PROCESO. (ACCESS 2003).
(EL 1º boton es la flecha de seleccion y el de abajo la Barita Magica).
¿LO COLOCAS EN EL ENCABEZADO DE FORMUNARIO? (OJO, NO ENCABEZADO DE PAGINA).
POR LO QUE COMENTAS VEO QUE ES UN CAMPO "No", SI ES ASÍ DEBES QUITAR LOS ASTERISCOS DEL "SELECT".
SI TENES DUDAS SEGUI PREGUNTANDO.
quique4230ARROBAhotmail.com , si queres manda un mail y a vuelta de correo te mando un ejemplo.

QUIQUE
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

RE:Buscar registro dentro de Formulario

Publicado por gustavo (1 intervención) el 09/06/2012 05:38:33
Quisiera saber si se puede cambiar los * por una sentecia completa, es decir un nombre, numero o codigo.
En mi bd tengo part number con un ' que si o si deben estar, como hago para incluir por ej: 07R'470RL5'0050 ya el resto anda pero solo me muestra el 1er registro que coincide con 07R
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

RE:Buscar registro dentro de Formulario

Publicado por Ricardo (1 intervención) el 28/09/2014 19:11:12
Si el segundo ejemplo es muy bueno pero en vez de la tabla podrías poner la consulta que abarque claro esta todo lo que en el formulario se presente esto porque el formulario podría contener mas de dos tablas y cuando aplico la consulta los campos de la segunda tabla se presentaran vacios o signos de interrogación no se porque tal ves una mala relación , pero con la consulta arreglamos todo esto y la búsqueda queda super bien.
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

RE:Buscar registro dentro de Formulario

Publicado por Gerard (1 intervención) el 27/06/2016 14:20:38
Buenas, he usado tu método para crear una búsqueda, pero no consigo ahora que Access vuelva a mostrarme todos los registros... qué debo hacer?
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

RE:Buscar registro dentro de Formulario

Publicado por alejandro (1 intervención) el 28/06/2016 18:37:18
si quiero que el campo a buscar sea exacto ???
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

RE:Buscar registro dentro de Formulario

Publicado por yolanda rangel (1 intervención) el 29/06/2016 02:00:03
Muchas pero muchas gracias quique
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

RE:Buscar registro dentro de Formulario

Publicado por JOS (1 intervención) el 02/06/2017 14:41:23
pregunta esta linea de código no me funciona, pero lo demás si funciona

"If txt1 = "" Then ' si esta vacio el cuadro de texto
MsgBox "DEBE INGRESAR UN TEXTO PARA INICIAR LA BÚSQUEDA", vbOKOnly, "ATENCION"
txt1.SetFocus ' devuelve el enfoque al cuadro de texto
End If"
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

RE:Buscar registro dentro de Formulario

Publicado por ramses (3 intervenciones) el 02/06/2017 23:22:10
prueba usar
if isnull(txt1) then 'si esta vacio el cuadro de texto
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

RE:Buscar registro dentro de Formulario

Publicado por Anonimo (181 intervenciones) el 03/06/2017 01:17:34
La doble comilla implica una cadena vacía, el NULL implica un campo no inicializado ... no son la misma cosa (aunque estéticamente se asemejen)

Para casos similares, una función NZ(...) resuelve el problema (solo falla si el objeto a evaluar no esta creado o no existe, pero le ocurre lo mismo a las dos que sustituye).

Conclusión:

If txt1 = "" .... + if isnull(txt1) ..... ===> If Nz(txt1,"") = "" .....
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

RE:Buscar registro dentro de Formulario

Publicado por jose (1 intervención) el 03/06/2017 21:54:52
gracia funciona a la perfeccion
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

RE:Buscar registro dentro de Formulario

Publicado por Luisa Pareja (1 intervención) el 17/07/2017 02:03:54
Hola, he utilizado este código y me funciona bien, sin embargo si por ejemplo en la BD hay tres personas que se llaman "Luisa" en el formulario carga la información al parecer de la primera persona que se ha registrado con ese nombre, en realidad no estoy segura qué registro se elije para cargar los datos en el formulario, pero solo arroja el resultado de 1, si yo sigo oprimiendo el botón de la consulta no pasa a otro registro que contenga el nombre "luisa", se queda en el mismo.
He identificado que en los botones de navegación si me filtra los resultados, pero yo tengo esta propiedad deshabilitada del formulario, por lo que me vería obligada a activarla, pero me gustaría saber si hay alguna forma de solucionarlo desde el botón, es decir, que cada que oprima el botón pase al siguiente registro que cumpla con la condición de la búsqueda.

Espero que alguien me pueda ayudar, muchas 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