Abrir dos formularios de Access en una sola ventana

Quisiera abrir dos formularios y verlos en la misma ventana, uno debajo del otro. ¿Es esto posible? Me es necesario tenerlos así para poder ir introduciendo datos de uno de los formularios en el otro.

1 respuesta

Respuesta
1

La respuesta es sí, siempre y cuando tengas un dato común entre los dos formularios.

Te explico. Para poder poner dos formularios es una ventana tienes que crear los dos forms, y después crear otro en blanco y añadir los dos anteriores como subformularios, verás que hay un botón que se llama subformulario en la barra de botones, creo que es el penúltimo o antepenúltimo.

Diseña el formulario así, y cuando lo tengas seguimos, te voy a explicar que hacer para que todo funcione de forma coordinada.

Hola Experto: Gracias por tu aclaración. Los dos subformularios tendrían un campo en común, por ej, POPULATION_ID, pero los problemillas que me surgen son los siguientes. A ver si sé explicarme. La única solución que he encontrado es definir uno de los dos subform como formulario y meter el otro subform en este, sin tener relacionados ningún campo en realidad. No puedo relacionar los dos population_id, ya que tengo campos del form, incluido el population_id, que están vacíos, y se deben de actualizar sobre la marcha, una vez que el agente vea que ciertos campos asociados a ese population_id del subform están correctos o no. Quizás pueda enviarte lo que se me ha ocurrido a algún email, y me puedas decir si se puede mejorar, que seguro que sí.

Gracias.

Veamos. Access permite trabajar con dos o más subforms "en paralelo", es decir, sin que estén uno dentro de otro. Para ello hay que emplear algo de Visual Basic. No es difícil, pero hay que detectar cuándo se produce algún evento en uno de los dos para que se pueda conectar con el otro.

Lo normal es poner un campo de texto oculto en un form, y los dos subforms uno al lado del otro, o debajo o como diseñes la pantalla. Supongamos que al campo de texto del principal lo llamamos auxiliar, y al form principal lo llamamos Principal.

Abre el subform que quieras emplear de guía, y localiza que evento producirá un cambio en el segundo subform, por ejemplo, la actualización de un campo, la grabación de un registro, la pulsación de un botón... Supongamos que es la actualización de un campo y que se llama Campo1, y que el dato de guía es precisamente el dato de Campo1, es decir, que al cambiar Campo1 haya que actualizar el subform 2.

Localiza ese campo, y en la ventana de propiedades marca la pestaña Eventos, y en el evento Después de actualizar, en su desplegable eliges Procedimiento de evento.

A continuación pulsa el botón ... que hay a la derecha y entrarás en la ventana de Visual Basic for Applications (VBA).

El sistema te habrá escrito algo como:

Private Sub Campo1_AfterUpdate()

End Sub

Entre esas dos lineas escribes:

Form_Principal.auxiliar = Campo1

Cierra la ventana VBA y cierra y guarda el subform1 (de guía). Volverás al form principal.

Entonces marca en el contorno del subform2 y abre la ventana de propiedades, y en la sección Datos, en el Campo del formulario secundario introduce el nombre del campo de enlace del form secundario. En Campo de formulario principal escribe auxiliar.

Cierra el form y guarda y ya lo puedes probar.

De todos modos, si me lo quieres mandar no hay problema, puedes hacerlo en [email protected]

Si no te importa cuando me lo mandes explícame, aunque sea brevemente qué pretendes hacer. Eso ayuda bastante a la hora de comentar el proyecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas