Imprimir página | Cerrar ventana

PROPIEDAD ONTIME EN FORM

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=84134
Fecha de impresión: 22/Marzo/2019 a las 15:57


Tema: PROPIEDAD ONTIME EN FORM
Publicado por: Goliat2000
Asunto: PROPIEDAD ONTIME EN FORM
Fecha de publicación: 01/Diciembre/2018 a las 11:54
Hola buenos días compañeros, pretendo hacer algo que, de momento, no funciona; pudiera ser que no es posible en VBA. Quiero conseguir que, desde un formulario y en su evento Cerrar, abrir otro pero estableciendo su "Intervalo de cronometro", establecerlo a 0 (cero) para que no se dispare la ejecución de un código que tengo en el evento "Al Cronometro" de ése otro formulario. Escribo éste código, pero me resulta error 2465 "error no definido por el objeto"

 DoCmd.Echo False, ""
  DoCmd.OpenForm "frmPrincipal"
  Forms!frmPrincipal.TimeInterval = 0
  DoCmd.Maximize
  DoCmd.Echo True, ""
  DoCmd.Close acForm, Me.Name

En la línea en rojo, se produce el error.

¿Es posible establecer el TimeInterval del formulario que se abre desde el formulario que se cierra; al igual que se puede hacer el adjudicarle el recordSource?

Gracias un Saludo a todos. Buen día


-------------
Muchas gracias, aunque sólo lo hayas leído.



Respuestas:
Publicado por: mounir
Fecha de publicación: 01/Diciembre/2018 a las 12:04
Hola!

Has intentado hacerlo al revés, o sea, en el evento al abrir o al cargar el formulario principal?.

-------------
Un Saludo.


Publicado por: pitxiku
Fecha de publicación: 01/Diciembre/2018 a las 12:16
Agregando a lo indicado por mounir, puedes usar OpenArgs para pasar información al formulario abierto, y así hacer lo que desees al abrirlo:

- https://docs.microsoft.com/es-ES/office/vba/api/Access.Form.OpenArgs


Publicado por: Mihura
Fecha de publicación: 01/Diciembre/2018 a las 12:27
Otra opción es que en el formulario principal te crees una Sub pública (o una Function) en la cual modificas el timer y la lanzas desde el otro.

-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Goliat2000
Fecha de publicación: 01/Diciembre/2018 a las 12:51
Gracias por las respuestas. La cuestión es que, cuando el form se abre al inicio de la aplicación, si quiero que se ejecute el código, pero cuando lo abro desde el form en cuestión porque estoy en proceso de cerrar la aplicación no quiero que se ejecuete. No necesito se ejecute dos veces, (al abrir elform para iniciar y al abrir el form para abandonar la aplicación). Un saludo

-------------
Muchas gracias, aunque sólo lo hayas leído.


Publicado por: mounir
Fecha de publicación: 01/Diciembre/2018 a las 13:25
Hola!

Se me ocurre una opción un poco ortodoxa, insertar en el formulario un cuadro de texto oculto con valor predeterminado (0), y cuando lo abras desde otro formulario le asignas el valor (1) y le aplicas la condición "If", si el cuadro de texto = 0 aplicar el evento "TimeInterval" y si no desactivarlo.

-------------
Un Saludo.


Publicado por: Mihura
Fecha de publicación: 01/Diciembre/2018 a las 13:29
Una opción es con el OpenArgs.

- si es la primera vez al abrir el formulario le dices que ejecute el timer dándole valor (p.ej el valor Openargs = ""):

me.timerinterval = 9999

- si lo lanzas desde el formulario le pones un valor al openargs y no le das valor a la propiedad timerinterval, con lo que no se ejecuta 


-------------
Jesús Mansilla Castells.
Saludos desde Móstoles.

http://www.accessaplicaciones.com" rel="nofollow - Access Aplicaciones
http://www.tecsys.es" rel="nofollow - Tecsys.es


Publicado por: Goliat2000
Fecha de publicación: 03/Diciembre/2018 a las 15:59
Hola compañeros. He optado por la solución de Mounir y que me ha parecido más sencilla. Funciona correctamente conforme a lo que deseaba. Gracias a todos y un saludo.

Se puede cerrar el hilo


-------------
Muchas gracias, aunque sólo lo hayas leído.



Imprimir página | Cerrar ventana