Copiar archivos y borrar carpeta mediante VBA

A ver si alguien me sabe ayudar porque es complejo.

He creado un formulario de Configuración, con una serie de opciones (título de la aplicación, favicon, copia de seguridad, colores, etc.), para aprovecharlo en varias bases de datos propias, y por si la necesitara para algún cliente.

La base de datos tipo (vamos a hablar de esta manera), tiene una carpeta Imágenes donde se van guardando las imágenes que se use. Bien, en el formulario de configuración hay un checkbox (RutaCarpeta) para elegir entre dejar esa carpeta en la ruta predeterminada de la base de datos, o bien en una ruta predefinida por el usuario. De forma predeterminada, si el checbokx es cero (desactivado), la base de datos comprueba si existe una carpeta Imágenes en la ruta de la base de datos, y en caso de que no exista, la crea.

Ahora mismo, funciona bien siempre y cuando haga y deshaga los cambios sin salir del formulario. Es decir, haciendo esto:

  1. Entro en Configuración, cambio el valor del checkbox RutaCarpeta a -1, elijo mediante el botón Buscar una carpeta cualquiera. El resultado de esto es que borra la carpeta Imágenes de la ruta de la base de datos, y copia los archivos en la nueva carpeta.
  2. Sigo en Configuración (importante esto), cambio el valor del checkbox RutaCarpeta a 0. El resultado es que me crea una carpeta imágenes, copia los archivos de la carpeta antigua (la que eligimos en el punto anterior), y borra esta última carpeta.

Mi problema está en que, cuando realiza la opción 1, salgo de configuración, vuelvo a entrar, y realizo la opción 2, el resultado no es el mismo que esta última opción.

Os dejo la base de datos para que veáis lo que os digo:

https://www.dropbox.com/s/8wypf1v0p9q0zk4/Base%20de%20datos.rar?dl=0

El problema radica en que no detecta bien la ruta inicial para copiar los archivos, pues, por algún motivo, lo borra antes (línea 59 del módulo Configuración). He probado a cambiar esa acción de sitio, pero, por más vueltas que le doy, si arreglo una cosa, deshago otra.

1 Respuesta

Respuesta
1

Diego: Quería darle una ojeada a tu BD antes de contestarte, pero no he podido.

Mira si es que guardas el valor de la nueva carpeta en alguna variable cuya alcance sea solo a nivel de Módulo de Formulario. Un saludo >> Jacinto

¡Solucionado! El problema estaba en que no actualizaba correctamente el estado del checkbok. Le he metido un DoCmd.Requery antes de iniciar todo el proceso, y ahora funciona flama. Muchas gracias, Jacinto, por estar siempre ahí.

Un saludo.

La pregunta no admite más respuestas

Más respuestas relacionadas