Encontrar un registro desde un formulario access vba

Expertos sucede que desde un formulario quiero buscar un registro en una tabla de acuerdo a un cuadro combinado que existe en un formulario, en el momento tengo este código:

buscar = Me!Cuadro_combinado34.SetFocus
DoCmd. FindRecord buscar

Sin embargo aparece un error que dice: La acción BuscarRegistro requiere un argumento que buscar, y buscar tiene un valor no se que estoy haciendo mal;

1 respuesta

Respuesta
1

Leonardo: Si lo haces con una variable, el valor de la misma debería ser:

Buscar = Me.Cuadro_Combinado34.eValue

Además asegurate que tienes un valor en el ComboBox.

Si lo haces directo:

DoCmd.FindRecord Me.Cuadro_Combinado34.Value

Saludos>> Jacinto

Hola Jacinto...

Te comento lo hice como lo explicas solo que ahora me sale un error diferente:

"Se ha producido el error '2162' en tiempo de ejecución: Una macro asignada a una de las propiedades del campo activo se detuvo debido a un error en un argumento de la acción BuscarRegistro"

Que estoy haciendo mal... gracias por tu ayuda Jacinto

Hola Jacinto...

Te comento que ya encontré el error no estaba teniendo en cuenta el campo de la tabla a la que hago referencia, ahora me gustaría que me ayudaras a salir de dos dudas..

1. Por que el registro no cambia en el formulario, debo hacer algo pertinente a el buscar para que se visualizen los registros.

2. Como se si encontró el dato que busco en mención pues la sentencia en vba corre sin ningún problema pero no tengo como validar si lo encontró o no.

Muchas gracias por tu ayuda, anexo el código con el que solucione este problema:

Me!Identificacion.SetFocus
buscar = Me.Cuadro_combinado34.Column(0)
DoCmd.FindRecord buscar, acEntire, , acSearchAll, , acCurrent

Una observación y una pregunta para responderte con la mejor respuesta que sepa.

Observación:

La línea >>DoCmd. FindRecord buscar, acEntire,, acSearchAll,, acCurrent

Es equivalente a >> DoCmd. FindRecord buscar

Ya que todos los argumentos que has puesto son los que toma por defecto.

En el código que veo,(ignoro si tienes más e importante en qué Evento lo tienes), solo le estás diciendo >> Buscame ésto. El código te lo busca, y piensa >> Bueno ya me dirás algo.

Pregunta:

¿Qué pretendes hacer con el Valor buscado?

¿Abrir un Formulario?

¿Mostrarte en un TextBox el valor encontrado... etc?

¿Y si no lo encuentra?

¿Quieres un mensaje?

¿Quieres cerrar la Aplicación?

Tal como te cito arriba la intención final, solo es la de ayudarte sin que se alargue el tema más de lo necesario. Saludos >> Jacinto

Hola Jacinto a pesar de que ya resolve mi problema con una macro incrustada te comento....

Lo que quiero es que al buscar el dato que es la llave primaria, me traiga toda la información del registro correspondiente a dicho dato y me lo muestre en un formulario, si no lo encuentra simplemente que me diga dato no encontrado.

Mil y Mil gracias.............

Leonardo: Mis preguntas anteriores apuntaban un poco hacia lo que me comentas.

Para buscar y mostrar, en mi opinión has de utilizar FindFirst en lugar de FindRecord.

Si vas de acuerdo, en lugar de escribir una parrafada grande, creo que lo más adcuado es que veas si te soluciona el problema el siguiente ejemplo de la Web de Emilio Sancha.

http://www.mvp-access.es/emilio/Access/Descargas.asp 

El Ejemplo es el Nº 197 del 03/13.

Necesitarás la BD Neptuno, pero si no la tienes, te la puedes bajar de la misma Página. Está en la cabecera.

Si aún así no es exacto lo que quieres me comentas. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas