¿Cómo actualizar los datos que muestra un subformulario cuando se cambian datos en otro subformulario? Ambos usan la misma tabla

En un formulario llamado "Alumnado", tengo dos subformularios. Vamos a llamarlos Sub1 y Sub2. Ambos utilizan la misma tabla ("Alumnado_entrevistas") con los siguientes datos:

- NIE: campos numérico.
- Entrevista_con: tipo texto
- Fecha: tipo fecha.
- Información: memo.

Sub 1 muestra en vista de hoja de datos los campos "Entrevista_con" y "Fecha". Sub2 muestra en vista formulario "Entrevista_con", "Fecha" e "Información".

Mi problema viene cuando añado un registro nuevo en Sub2. Al poner el foco fuera de Sub2, los datos que se muestran en Sub1 no se actualizan. Para conseguir visualizarlos tengo que salir del formulario principal "Alumnado" y volver a entrar en él. Sólo así me muestra en Sub1 el nuevo registro.

¿Qué tengo que hacer para que, al salir de Sub2 se actualice automáticamente la información que he grabado en Sub1?

2 respuestas

Respuesta
2

Tienes que hacer un Requey (o un Refresh) al entrar en el segundo subformulario (o al salir del primero).

Puedes probar los eventos "Al entrar", "al recibir el enfoque" del segundo subformulario, del primer control del segundo subformualrio, o "al salir", "al guardar" o similar del primer subformulario.

Aunque la pregunta es ¿para qué tener dos subformularios sobre la misma tabla en el mismo formulario? Podrías jugar con mostrar/ocultar el campo información y trabajar con uno solo...

Saludos!


Siento decir que no funciona. Los dos subformularios tienen su sentido. Sub1 muestra de forma muy resumida con quien he tenido reunión y en qué fecha. Todo ello en vista de hoja de datos que me permite ver todo de un golpe de vista. Además, el campo de la persona con la que se ha tenido la reunión es un hipervínculo que me abre el registro correspondiente en Sub2.

Sub2 está pensado para mostrar el contenido de la reunión con la persona en cuestión, cosa que es más agradable a la vista en vista formulario.

He puesto Docmd.Requery al salir de Sub2 y al recibir el enfoque en el formulario principal, que es donde se encuentran Sub1 y Sub2, pero nada.  Sub1 sólo muestra el nuevo registro creado en Sub2 cuando salgo del formulario principal y vuelvo a entrar.

En resumen, el nuevo registro creado en Sub2 no aparece en Sub1.

Acabo de probarlo en el evento "Después de insertar" del sub2 y funciona. Ojo con la sintaxis:

Me.Parent.sub1.Form.Requery

Te dejo el mini-ejemplo en el que probé: http://www.filebig.net/files/RB6uSifDbN 

Muchas gracias. Llevo mucho tiempo dando vueltas a este problema y por fin se ha resuelto. Gracias de nuevo (valorado como excelente)

No hay de qué. Nos vemos para otras dudas.

Saludos!


Respuesta
1

Comparto la respuesta de El Rojo. Solo agrego que para aplicarlo sería algo como DoCmd. Requery "Sub2" ó "Sub1", dependiendo el que quieras actualizar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas