Hace unos minutos tuve que realizar un procesos con macros que genere una copia de respaldo en una base de datos. No tenia la menor idea de como hacerlo, pero gracias a Dios...está GOOGLE.
Encontré la siguiente publicación que me sirvió mucho para lograr la generación de la copia de respaldo de una base de datos en MS Access, y se los comparto en esta publicación:
Operaciones básicas
Las macros que les comparto nos permitirán realizar opciones tales como:
- Mostrar rutas.
- Crear directorios.
- Copiar archivos.
- Eliminar archivos.
- Renombrar archivos.
- Mover archivos.
Mostrar rutas
Con la siguiente macro mostramos la ruta del archivo en uso.
Aquí mostramos el directorio activo, mismo que se ubica cuando damos la opción Abrir Archivo.
Crear directorio
Para crear un directorio vemos que hay una similitud con comando CMD.
Copiar archivos
Simplemente usamos FileCopy para copiar archivos.
Eliminar archivos
Hay que tener mucho cuidado al eliminar archivos, ya que éstos no pasan por la Papelera de reciclaje.
Renombrar archivos
Para renombrar archivos usamos la instrucción Name.
Mover archivos
En este artículo vimos cómo mover archivos de carpeta, también usando la instrucción Name.
La macros que realice
Despues de analizar el código que les acabo de compartir realice la siguiente macros:
Sub CopiaSeguridad()
Dim Libro As Workbook 'Es el libro actual
Dim HojaC As Worksheet 'Es la hoja de conexión
Dim TXT_Origen As String ' aqui guardare el origen de mi base de datos
Dim TXT_Destino As String ' aqui guardare el destino de mi base de datos
Set Libro = ActiveWorkbook
Set HojaC = Sheets("Conexion")
TXT_Origen = HojaC .Range("A6") 'En la hoja conexion en la celda A6 tengo la dirección de mi Base de datos
FechaTMP = Date 'Capturo la fecha de hoy
DiaAct = Right("00" & Day(FechaTMP), 2) 'Capturo el dia de hoy
MesAct = Right("00" & Month(FechaTMP), 2) 'Capturo el mes de la fecha de hoy
AnioAct = Year(FechaTMP) 'Capturo el año de la fecha de hoy
ABC = "BD_" & AnioAct & "_" & MesAct & "_" & DiaAct 'Genero el nuevo nombre. Ejemplo: BD_2016_03_10
TXT_Destino = Application.GetSaveAsFilename(ABC, , , "Seleccione la carpeta") 'Selecciono una carpeta
TXT_Destino = TXT_Destino & "mdb" ' Ejemplo: C:\Mis Documentos\BD_2016_03_10.mdb
FileCopy TXT_Origen, TXT_Destino
MsgBox "Se genero el backup satisfactoriamente"
End Sub
Espero que les sirva:
Ing. Enrique Neciosup Morales
enrique@expertosenexcelpc.com
Síguenos en Facebook
enrique@expertosenexcelpc.com
Síguenos en Facebook
No hay comentarios.:
Publicar un comentario