Cómo actualizar los datos de un subformulario

Tengo un control de pestañas dentro de un formulario llamado "Configurar". Pues bien, en la primera pestaña tengo un subformulario con "origen de registros" la tabla "Objetivos". En la segunda pestaña tengo un subformulario (Subformulario_objetivos_2), parecido al anterior, con la misma tabla como "origen de registros" (Objetivos).

El problema que se me presenta es que, si introduzco datos nuevos en el subformulario que está en la primera pestaña, al abrir la segunda pestaña, los datos que están en el subformulario_objetivos_2 no están actualizados.

Y mi pregunta es: ¿Cómo lo hago? Porque todo lo que he probado hasta ahora no me funciona.

Respuesta
2

Puedes utilizar en, por ejemplo, el evento Después de actualizar de un cuadro de texto del primer subformulario

Docmd. Runcommand accmdsaverecord

Me. Refresh

Hola Icue. He hecho lo que puesto lo que me has dicho, pero no funciona. Sin embargo, si le doy al F5, sí se actualizan los datos del subformulario. ¿Se te ocurre alguna otra cosa que se pueda hacer?

Creo que lo entendí mal. Esté en la pestaña que esté un subformulario no deja de ser un control más de un formulario, por tanto, para abreviar, supongamos que se llaman subformulario 1 y 2. Para que el subformulario 2 vuelva a consultar su origen, en el evento que dije antes pon

me.subformulario2.form.requery

Ese código me da error. He probado el siguiente código que no me da error:

Private Sub Objetivo_AfterUpdate()
Forms!Configurar!Subformulario_Objetivos2.Form.Requery
End Sub

Pero no funciona

¿Has mirado en vista diseño del formulario Configurar, si el subformulario se llama realmente así. Haz clic en él y mira en sus propiedades-otras-nombre

De todas formas, si quieres, repito, si quieres, mándame un mensaje a [email protected] y te mando un ejemplo y verás como esa instrucción funciona. Si lo haces, en el asunto del mensaje pon tu alias Pedro Muñoz, ya que si no sé quien me escribe ni los abro.

Antes de nada, muchas gracias. He conseguido solucionarlo, por fin. El problema estaba en el código y en el lugar donde colocar el código. El código que ahora me funciona es el siguiente:

Me.Parent.Subformulario_Objetivos2.Form.Requery

Para que se actualice el segundo subformulario tengo que colocar ese código en la propiedad "Después de insertar" del primer subformulario. Así funciona perfectamente. También lo he puesto en la propiedad "Después de confirmar la eliminación" para que se actualice cuando borro registros.

Como siempre, muchas gracias por tu interés.

¡Gracias! Al final lo he conseguido solucionar. El código para que funcione es el siguiente:

Me.Parent.Subformulario_Objetivos2.Form.Requery

Luego, para que funcione, hay que colocar ese código no en las propiedades del recuadro de texto sino en las del subformulario. Concretamente en "Después de insertar". Para que se actualice el segundo subformulario al eliminar registros en el primero le escribo el mismo código en la propiedad "Después de confirmar la eliminación."

Muchas gracias de nuevo por tu interés.

Si a ti te sirve, ni mil palabras.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas