Datos que no se actualizan en subformulario

Hace tiempo me ayudasteis con esto y ahora he detectado un problemilla.

En un subformulario tengo una lista desplegable que llama al campo"Id persona".

Con el objetivo que muestre automáticamente los campos Telèfon1, Telèfon2, Adreça-e y [Adreça-e StandBy] en el evento "Después de actualizar" hay el siguiente código:

Private Sub Nom_AfterUpdate()

Me.Telèfon1 = Nz(DLookup("[Telèfon1]", "[Persones]", "[Id Persona] =" & Me.[Id Persona]), "")
Me.Telèfon2 = Nz(DLookup("[Telèfon2]", "[Persones]", "[Id Persona] =" & Me.[Id Persona]), "")
Me.[Adreça-e] = Nz(DLookup("[Adreça-e1]", "[Persones]", "[Id Persona] =" & Me.[Id Persona]), "")
Me.[Adreça-e StandBy] = Nz(DLookup("[Adreça-e2]", "[Persones]", "[Id Persona] =" & Me.[Id Persona]), "")
Me.Telèfon1.SetFocus

End Sub

La cuestión es que si hago cambios en la tabla "Persones", al abrir el formulario (con este subformulario dentro", no se muestran los datos actualizados. Para conseguirlo tengo que editar el elemento de la lista (de palo, borrar la última letra y reescribirla); no me funciona ni F5...

¿Alguna idea?

Respuesta
1

Pon el mismo código en el evento "al activar registro" del formulario. O si no quieres repetirlo, pon una llamada a ese evento.

Ok, hecho, genial! Deduzco por tu respuesta que no hay problema en repetirlo... cierto?

Igualmente sigo teniendo un mini problema de "actualización": encima del formulario con la lista desplegable se abre el formulario "Persones"; si hago cambios en los datos de una persona, al cerrarlo y volver al formulario donde hay la lista, tengo que pulsar F5 para que los datos se actualizen. He probado con una macro en el subformulario que ejecute la ordren Actualizar, pero no funciona porque no sé dónde ponerla...

Efectivamente, no hay problema en repetir el código.

Para lo otro, has de actualizarlo desde el formulario que se cierra, con algo como:

Forms("NombreFormulario"). Requery

(O Refresh)

¡Gracias! Sigo probando... Muy amable por tu ayuda ;) 

Le he dado mil vueltas y no encuentro dónde colocar el código.

Necesito que al cerrar el formulario "Persones" (lo he abierto desde un formulario llamado "Ens" y por lo tanto vuelvo a él) se actualizen los datos en el subformulario que hay en su interior sin tenir que pulsar F5.

¿Dónde lo pongo?

Pues, en el evento "Al cerrar" del formulario que cierras, o si lo cierras con un botón, en el propio código del botón.

La idea sería poner algo así:

Forms("NombreFormulario").NombreControlSubformulario.Form.Requery

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas