Botón en formulario de Access que ejecute una consulta y pegue datos de un campo concreto

Que es fácil de explicar, pero que no sé si lo es tanto en su ejecución:

Se podría crear un botón en un formulario de access que ejecutara una consulta y pudiera pegar el contenido de un campo concreto del formulario en dicha consulta, ¿aceptando seguidamente para realizar la búsqueda?

Respuesta
1

En esencia es sencillo, solo hay que proceder con método.

Se crea la consulta con el generador grafico, el dato del formulario (supongo que la condición para el filtro) se puede crear con el generador de expresiones (los tres puntitos o el menú contextual: el botón derecho del ratón).

En esencia de lo que se trata es obtener la ruta al objeto que viene a ser algo como:
Forms.[nombre del formulario]. [nombre del campo]

Solo queda el botón para ejecutarla, para ello se puede crear una macro con la acción ejecutar consulta y asignársela al botón en su evento click (o convertir la macro a BVA y copiar/asignar la acción directamente en el evento).

Si se van a manipular los datos de la consulta .. se puede crear un formulario y asignarle la consulta (los formularios tienen mas herramientas/posibilidades que las consultas para manipular el contenido)

Gracias por la respuesta.

No sé si yo me he explicado bien, o estamos hablando de lo mismo... yo ya tengo el formulario, la consulta y el botón; cuando le doy al botón, me ejecuta la consulta con su correspondiente pregunta; lo que hago yo, es copiar los datos de un campo del formulario, pegarlos en el recuadro de la pregunta y darle a aceptar; eso, si es posible, es lo que yo quiero que me haga el código de VB, que cuando yo le dé al botón ya me aparezcan los resultados de la consulta.

Pues solo falta sustituir el dato por el que pregunta por el campo del formulario, la 'sustitución' consiste en darle la ubicación absoluta del objeto.

A los objetos de Access se puede hacer referencia absoluta o relativa, la absoluta es tal cual indique en mi anterior intervención y en negrita:
Forms.[nombre del formulario]. [nombre del campo]

Que Access puede 'traducir' al castellano así:
Formularios.[nombre del formulario]. [nombre del campo]

La referencia relativa es la que se acostumbra a utilizar en VBA en la que con un 'Me.' se hace referencia al formulario actual (no importa el nombre, es el activo) y solo se tiene que añadir el nombre del objeto (no es la adecuada para este caso concreto):
Me. [nombre del campo]

Si se publicase la SQL de esa consulta (consulta en modo edición ==> ver ==> vista SQL) habría datos de partida mas concretos y permitiría aportar soluciones optimizadas.

Ya lo he solucionado de otra manera. El problema era la falta de espacio entre formularios y subformularios para mostrar todo lo que quería; pero ya he hecho algún subformulario con pestañas y así me ahorro el tema de la consulta.

Gracias por la respuesta.

1 respuesta más de otro experto

Respuesta
1

Vaya a la cuadricula de diseño de la consulta y haga clic con el botón derecho en cualquier parte de la cuadricula donde muestra la tabla o tablas y haga clic en Ver SQL, copie el contenido y adiciónelo a esta pregunta. Esto dará la información que se requiere para ofrecerle una respuesta más precisa. Si lo prefiere envíeme su base de datos a [email protected] y trato de colaborarle.

Ya lo he solucionado de otra manera. El problema era la falta de espacio entre formularios y subformularios para mostrar todo lo que quería; pero ya he hecho algún subformulario con pestañas y así me ahorro el tema de la consulta.

Gracias por la respuesta.

Me alegra lo haya solucionado, es posible que existe otra alternativa, personalmente lo hago totalmente diferente.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas