Cerrar formulario y abrir otro con código

He creado un botón para salir de un formulario y me abra otro y lo he hecho con una macro pero al guardar los cambios siempre se me cuelga por lo que he pensado en hacerlo a través de un código.

EL formulario "Datos" tiene el botón salir y quiero que al pulsarlo me lleva el formulario "dias"

¿Me pueden ayudar?

1 Respuesta

Respuesta
4

Puedes hacerlo de muchas formas. Por ejemplo, tendría que preguntarte. ¿Quieres qué lo cierre, digamos, definitivamente, o que quede, en segundo plano y que te abra el formulario Dias, en vista diálogo?. Etc.

Por ejemplo, si quieres cerrar definitivamente el formulario Datos y que te abra el formulario Días, en el evento Al hacer clic del botón deberías crear un procedimiento de evento y entre Private sub y End Sub poner

Docmd. Openform"dias"

Docmd. Close acform,"datos"

En caso de que lo que quieras es abrir el formulario Dias para trabajar con el, podrías poner que abriera en vista diálogo( encima del otro)

Tendrías que poner

Docmd. Openform"dias",,,,, acdialog

Si sólo pones,

Docmd. Openform"dias" y en la base tienes puesto que los formularios abran como ventanas emergentes, te minimiza y "oculta" el formulario Datos y la ventana que ves es la del formulario Dias.

En fin, si pudieras concretar algo más.

Hola Julián.

Es un formulario principal "Datos" que tiene varios bortones que me llevan a diferentes formulario. Lo que quiero es que si pulso el botón "dias" me abra el formulario que tiene asociado "dias" y que no se vea el formulario principial. Una vez abierto el formulario "dias" tengo un botón de salir que lo que hace es volverme al formulario principal "Datos".

Estoy trabajando con Access 2010 y me han funcionado perfectametne las macros pero cuando lo guardo como versión 2003 que es la que tengo en el trabajo no me reconoce las macros que tengo asociados a los botones y por eso he pensado que lo mejor era hacerlo a través de programación.

Aprovecho y te pregunto también para salir de access con código?

Mil gracias como siempre

Vamos por partes.

1º ¿Cuando te refieres a que "el formulario que tiene asociado días". ¿Es qué en ese formulario hay un control, sea cuadro de texto, sea lo que sea que se llama Días? Te lo digo porque si es el formulario el que se llama Días, basta con lo que te puse. Por ejemplo, supongamos que tengo el formulario Datos, al que le he puesto dos botones

Si pulso Salir 1 me abre el formulario Dias y se cierra el formulario Datos

En este caso, en el evento Al hacer clic del botón Salir1 le he puesto

DoCmd. OpenForm "Dias"
DoCmd. Close acForm, "Datos"

Ahora bien, si vas a "trabajar" en el formulario Dias ¿para que cerrar el Datos y luego poner en el formulario Dias un botón para que te cierre éste último y te abra Datos. Basta con abrirlo en vista diálogo con los criterios que quieras. Por ejemplo, si pulso Salir 2

Hago lo que tenga que hacer en el formulario Dias y cuando lo cierro, "sigo" en el principal.

En este caso le digo, en el evento Al hacer clic del botón Salir 2

DoCmd. OpenForm "dias",,,,, acDialog

Honestamente, me extraña mucho que te dé problemas al abrirlo en 2003, ya que el código es el mismo. La única diferencia es que en 2010 las extensiones de las bases de datos son accdb y en 2003 es mdb. Y las versiones posteriores reconocen la anteriores, pero al revés, no.

Para salir de Access con código, lo puedes hacer de muchas formas. Te pongo dos.

En un botón o en cualquier otro evento puedes poner

Docmd. Quit

O también

Application. Quit

O también

Docmd. CloseDatabase

O también

Application. CloseCurrentDatabase

Por ejemplo, para que te vayas de mi casa te puedo decir

1º Lucía, voy a acostarme para que puedas irte

2º Ya que te vas a marchar, me despido

3º Deberías irte para tu casa

4º ¡ Te quieres marchar de una puñetera vez!

Y todas las que te imagines.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas