¿Cómo actualizar automáticamente un formulario cuando se han cambiado datos en otro formulario?
Un formulario no continuo, vamos a llamarlo principal, contiene un combo con nombres de personas. La lista de nombres no se puede modificar en ese formulario. Cuando hay que modificar o añadir un nombre de persona, mediante un comando se abre un nuevo formulario con origen en la tabla de nombres, en el que se pueden corregir y añadir nombres.
Al terminar de editar o añadir nombres cierro la ventana y vuelvo al formulario principal.
Naturalmente, el formulario principal no se da por enterado de que la tabla nombres ha cambiado y tengo que actualizarlo, lo que hago ejecutando una macro que actualiza el formulario principal y sus subformularios.
Lo que hace la macro (traducida a VBA, porque no sé cómo pegar aquí las instrucciones de la macro) es esto:
TempVars. Add "Busca", .IDVolumen 'Almacena en una variable el registro actual
DoCmd.GoToControl "[SFVolumenAutor]" 'Va al primer subformulario del principal
DoCmd.Requery "" 'Lo actualiza
DoCmd.GoToControl "[SFVolumenDibujante]" 'Va al segundo subformulario del principal
DoCmd.Requery "" ' Lo actualiza
DoCmd.GoToControl "[SFVolumenEditorial]" 'Va al tercer subformulario del principal
DoCmd.Requery "" 'Lo actualiza
DoCmd.GoToControl "[SFVolumenObra]" 'Va al cuarto subformulario del principal
DoCmd.Requery "" 'Lo actualiza
DoCmd.GoToControl "[IDVolumen]" 'Va al formulario principal
DoCmd.Requery ""' 'Lo actualiza
DoCmd.SearchForRecord acForm, "Volumen", acFirst, "[IDVolumen]=" & TempVars!Busca 'Vuelve al registro inicial
TempVars. Remove "Busca" 'Elimina la variable temporal
Me gustaría automatizar el proceso, de modo que al cerrar el formulario de nombres el formulario principal y sus subformularios se actualizasen automáticamente, pero no logro descubrir dónde debo incluir las instrucciónes de actualización. Si al cerrar o descargar el formulario de nombres o al volver al formulario principal. En este último caso, sin que sea necesario cerrar y volver a abrir el formulario principal y sin que las instrucciones de actualización se ejecuten cada vez que navego por los registros del formulario principal, porque me parece una pérdida de tiempo actualizar cuando no hace falta.