Refrescar diversos formularios

Tengo un problema porque no puedo refrescar varios formularios al mismo tiempo.
Resulta que tengo un formulario (FORM1) donde introduzco datos y quiero que estos se refresquen en diversos formularios más pero sólo lo hace en el que tengo abierto. Utilizo el siguiente evento que se genera al cerrar el FORM1
Private Sub Form_Close()
Form.Refresh
[Forms]![Formulario_Catalogacion]![cuadro combinado325].Requery
End Sub
Este evento me refresca el cuadro combinado del Formulario Catalogación pero también quiero que lo haga de otros formularios.
He probado a ponerlo así pero me da error porque dice que no lo encuentra y es porque no está abierto el formulario
Form.Refresh
[Forms]! [Formulario_Catalogacion]![cuadro combinado325].Requery
[Forms]! [Formulario_Autor]![cuadro combinado325].Requery
End Sub
Se que es algo ilógico el querer refrescar formularios cerrados, pero lo que pasa es que quiero evitar tener que crear un FORM1 para cada formulario teniendo así un único FORM1 (donde meto datos) para todos los formularios y así que sólo actualice los datos en el formulario que tenga abierto en ese momento

1 Respuesta

Respuesta
1
A ver... que yo sepa solo se puede actualizar formularios que tengas abiertos en ese momento pero por una simple razón... el que tienes cerrado se actualiza automáticamente al abrirlo por lo que no necesitarías decirle que se actualizase... otra cosa muy distinta es que quieras que los datos que metas ahí se actualize en varias tablas... aunque por lo que has comentado no creo que sea tu caso...
Espero haber resulto tu duda... cualquier cosa me comentas
Hola, en primer lugar agradecerte tu atención.
Estoy de acuerdo contigo en cuanto al tema de actualización de los formularios que tengo cerrados ya que al abrirlos aparece la nueva información sin problemas, pero mi problema va un poco más allá, te cuento:
El problema que me surge es que tengo un Formulario llamado CATALOGACIÓN. Este formulario tiene un campo listado llamado AUTORES. Para el caso de que no aparezca el autor deseado he puesto un botón que lleva a otro formulario que llamaremos AUTOR y en donde se pondrá el nuevo usuario a introducir. Cuando se cierra el formulario AUTOR se inicia un evento que pide refrescar el formulario CATALOGACIÓN para que así aparezca ya el nuevo autor y se pueda seleccionar.
Por otro lado tengo un formulario llamado MODIFICACIÓN que me sirve para modificar un registro (se ha creado así por una serie de razones...) y ente formaluario también está el campo listado AUTORES y también tiene un botón que abre el formulario AUTOR.
El problema viene porque al crear el evento y decir que refresque el formulario sólo acepta los datos del formulario que está abierto y yo necesito que acepte los datos de otros formularios para así evitar tener que crear un formulario AUTOR específico para el formulario MODIFICACIÓN.
La idea es que al iniciar el evento revise lo que se le pide y sólo haga caso a la especificaciones que estén correctas, por ejemplo con el siguiente evento
Private Sub Form_Close()
Form.Refresh
[Forms]! [Formulario_Catalogacion]![cuadro combinadoAUTOR].Requery
[Forms]! [Formulario_Modificacion]![cuadro combinadoAUTOR].Requery
End Sub
Que identifique que está abierto Modificación y sólo refresque ese formulario y no haga caso a Catalogación, pero no se hacer esto o si se puede hacer. ¿Puedes ayudarme en este sentido?
Muchas gracias
¿Si te he entendido bien lo que quieres que haga es que identifique si el formulario AUTOR ha sido abierto desde el formulario CATALOGACIÓN o MODIFICACIÓN no? ¿Y qué actualice uno u otro no? Eso se puede hacer con argumentos te pongo un código de ejemplo:
Private sub botoncatalogacion click()
Docmd.OpenForm "AUTOR",,,,,,1
End sub
----------
Private sub botonModificacion click()
Docmd.OpenForm "AUTOR",,,,,,2
End sub
-------
Private Sub Form_close()
Dim Argumentos as Variant
Argumentos=Split(me.OpenArgs,",")
If argumentos(0) = 1 then
[Forms]![Catalogacion].Requery
Else
[Forms]![Modificacion].Requery
End if
End sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas