Imprimir página | Cerrar ventana

Copiar desde VBA un file accdb

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=85256
Fecha de impresión: 29/Marzo/2024 a las 00:48


Tema: Copiar desde VBA un file accdb
Publicado por: Marciana
Asunto: Copiar desde VBA un file accdb
Fecha de publicación: 07/Mayo/2020 a las 22:16
Hola Todos
Tengo una aplicación compleja. Un backend y 3 frontends. En Access 2016.
Quiero hacer una copia de seguridad del backend desde un frontend. Asociado a cierto paso final de un proceso mensual.

Sé que puedo hacerlo copiando tabla por tabla. Pero son muchas y si agregara una tabla o cambiara algún nombre debería hacer modificaciones.

Encontré DoCmd.CopyDatabase pero ser refiere a una base SQL que no es mi caso. 

Existe una copia que está sincronizada. 
Necesito guardar una copia por cada final de proceso que tendrá identificada la fecha de la copia.

Desde VBA, ¿existe la posibilidad?
Gracias siempre, M.


-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina



Respuestas:
Publicado por: mounir
Fecha de publicación: 07/Mayo/2020 a las 22:28
Hola!

Este código hace una copia de seguridad del BackEnd:


Dim fechahoy As Date
Dim origen, Destino As String
Dim fso As Object
fechahoy = DateValue(Now)
origen = "C:\Tucarpeta\Tu_base_de_datos.accdb"
Destino = "C:\Tucarpeta\Tu_base_de_datos_" & Format(fechahoy, "dd_mm_yyyy") & ".accdb"
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CopyFile origen, Destino, True
Set fso = Nothing


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


Publicado por: Marciana
Fecha de publicación: 11/Mayo/2020 a las 16:32
Perfecto!
Gracias Munir!




-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina


Publicado por: ximo
Fecha de publicación: 11/Mayo/2020 a las 17:06
Hola Marciana,

Yo hace años me agencie una manera de hacerlo con un bat miralo y si te sirbe algo pues genial.

Private Sub cmdCopia_Click()
Dim strOrigen As String, strDestino As String
    'como es el caso el current.path me pasa por
    'Mis Documentos y a MsDos no le gustan, así que hecemos la ruta corta
    '
    strOrigen = GetShortName("C:\Numisoftware\DatosNumi")
   
    strDestino = Me.cmbUnidad & ":\BackUpDatosNumi\"
    'como vamos a crear varias carpetas, miramos si existe la primera \BackUpDatosNumi\
    'caso de no existir la creamos y también la carpeta con la fecha
    If Len(Dir(strDestino, vbDirectory)) = 0 Then MkDir strDestino
    strDestino = strDestino & Format(Now(), "yyyymmddhhnnss") & "\DatosNumi"
    Open CurrentProject.Path & "\Copia.bat" For Output As #1
    Print #1, ":begin"
    Print #1, "@echo off"
    Print #1, "cls"
    Print #1, "setlocal"
    Print #1, "set f_origen=" & strOrigen
    Print #1, "set f_destino=" & strDestino
    Print #1, "if exist %f_destino% rd %f_destino%"
    Print #1, "md %f_destino%"
    Print #1, "xcopy %f_origen% %f_destino% /E /C /Y /H /I"
    Print #1, ": End"
    Print #1, "endlocal"
    Print #1, "exit 0"
    Close #1
    Dim rst As DAO.Recordset
    Set rst = CurrentDb.OpenRecordset("tblCopias")
    rst.AddNew
    rst!RutaCopia = strDestino
    rst!FechaCopia = Now()
    rst.Update
    rst.Close
    Set rst = Nothing
    Ejecuta Me.hWnd, "open", _
            CurrentProject.Path & "\Copia.bat", "", "", 1

    Me.lstRutaCopias.Requery
End Sub

Un placer poder ayudar a la bruja favorita (según Mihura)

Saludos, ximo


-------------
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana


Publicado por: 01loko
Fecha de publicación: 11/Mayo/2020 a las 18:31
La duda que me surge es:

¿Que ocurre cuando esta en uso?

En el caso del bat de Ximo, claramente dara error, en el caso de mounir, creo que le pasaria lo mismo ya qye al usar el sistema de ficheros y estar en uso, estaria bloqueado por Windows.

no seria mejor crear una base nueva y exportar datos?


-------------
Recordar de que soy nuevo y estoy aprendiendo.


Publicado por: ximo
Fecha de publicación: 11/Mayo/2020 a las 19:25
Hola,

Pues yo te aseguro que no da error y está en uso.

C:\BackUpDatosNumi\20200511192044\DatosNumi.mdb

La acabo de copiar fijate en la carpeta de la fecha, y además tengo otro bat para restaurar al copia que se desee.


Saludos, ximo


-------------
La incansable busqueda de información abre nuestras mentes

Saludos desde Burriana


Publicado por: Marciana
Fecha de publicación: 16/Mayo/2020 a las 00:28
Muchas gracias, Ximo!

-------------
Cordialmente, Marciana
Saludos desde la Patagonia, Argentina



Imprimir página | Cerrar ventana