** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Actualización de versión
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Tema cerradoActualización de versión

 Responder Responder
Autor
Mensaje
JoanJesus Ver desplegable
Habitual
Habitual
Avatar

Unido: 28/Agosto/2007
Localización: Catalunya
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Tema: Actualización de versión
    Enviado: 27/Junio/2024 a las 11:15
Buenos días:
Al abrir una aplicación (A) quiero que, si existe una versión nueva (N), se instale la versión nueva.
Detectar si existe una versión nueva está resuelto, pero...
Desde la aplicación "antigua"(A) quiero abrir otra aplicación (C) que se encargará de sustituir la versión antigua (A) por la "nueva" (N).
El problema es que A lanza a C pero a su vez debe cerrarse a si misma para que C pueda hacer la substitución.
Y no me sale
Igual lo que estoy haciendo es una tontería y hay formas más eficientes de hacerlo.
¿Alguna pista por favor?

Arriba
happy Ver desplegable
Moderador
Moderador


Unido: 29/Enero/2005
Localización: España
Estado: Sin conexión
Puntos: 3200
Enlace directo a este mensaje Enviado: 27/Junio/2024 a las 18:21
Y cómo lo estás haciendo? Porque según lo que explicas, más o menos, la aplicación (A) debería decir algo parecido a esto:

<línea donde se abre/lanza la otra aplicación (C) que se encargará de sustituir la versión antigua por la nueva>
DoCmd.Quit ' para que se cierre la aplicación (A)
Saludos,

Juan M. Afan de Ribera
Arriba
JoanJesus Ver desplegable
Habitual
Habitual
Avatar

Unido: 28/Agosto/2007
Localización: Catalunya
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 27/Junio/2024 a las 20:15
Eso es lo que intenté al principio pero no funcionaba.
Lo he probado cuando se abre el formulario principal, una vez al evento al cargar y otra al abrir, y no ha funcionado.
Pero me he dado cunta que si el formulario estaba YA abierto la secuencia de "lanzar C" y docmd.Quit funcionaba bien.
Solución (Chapucera):
Abro el formulario
Al evento "Al cronometro" con timeInterval en 10, lanzo la secuencia Abrir formulario C y docmd.quit del formulario A. Luego por codigo dejo timerInterval a 0 y así funciona.
Escribiendo esto, se me ha ocurrido que si lanzo todo desde "Autoexec" igual funciona y me ahorro toda esta mandanga. Mañana lo pruebo.



Editado por JoanJesus - 27/Junio/2024 a las 20:17
Arriba
javier.mil Ver desplegable
Colaborador
Colaborador
Avatar

Unido: 10/Agosto/2005
Localización: España
Estado: Sin conexión
Puntos: 4856
Enlace directo a este mensaje Enviado: 28/Junio/2024 a las 19:48
Hola JoanJesus ,

Tal como dice HAPPY deberias usar DoCmd.Quit

Mira la DEMO 53 de mi WEB https://www.accessdemo.info 

Una vez que estés dentro del Programa en el formulario principal veras el boton de Actualizar Versión al pulsarlo se ejecutara el cambio de versión, el proceso es automático ,.. si todo va bien debería cambiarse  de
versión 1.4  >>>>  a la versión 1.5

(Solo funciona si tienes Access de 32 bits)




Editado por javier.mil - 30/Junio/2024 a las 17:22
Arriba
JoanJesus Ver desplegable
Habitual
Habitual
Avatar

Unido: 28/Agosto/2007
Localización: Catalunya
Estado: Sin conexión
Puntos: 110
Enlace directo a este mensaje Enviado: 02/Julio/2024 a las 08:08
Buenos días. 
Te agradezco la ayuda. Tengo el office de 64 bits.
De todas formas he rehecho todo el proceso y el Docmd.quit funciona ahora cerrando el programa después de lanzar la otra base de datos.
Gracias a todos por vuestro tiempo.
Podéis cerrar el hilo.
Salut
Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable