
Como hacer auto Backups personalizado de mi base de datos al cerrar la aplicación
Publicado por pilgrin (7 intervenciones) el 22/04/2019 11:01:23
Hola, he aplicado el código propuesto por jose sobre "Como hacer auto Backus de mi base de dato al cerrar la aplicación" (https://www.lawebdelprogramador.com/foros/Access/1690311-Como-hacer-auto-Backus-de-mi-base-de-dato-al-cerrar-la-aplicacion.html#last) y funciona correctamente pero, como "el directorio actual" lo tengo sincronizado con la nube, el ir agregando las copias enseguida llenaría el espacio disponible y, el tener que ir moviéndolas a otra carpeta convertiría el automatismo en algo ilógico. He planteado la pregunta directamente al autor en un comentario pero, no tengo claro si esto es un procedimiento adecuado, por eso, abro esta nueva consulta
¿Alguien sabe cómo modificar el código para que las copias de seguridad se almacenen en una ruta específica?
Espero no incurrir en una redundancia... el código de jose al que me refiero es:
¿Alguien sabe cómo modificar el código para que las copias de seguridad se almacenen en una ruta específica?
Espero no incurrir en una redundancia... el código de jose al que me refiero es:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Private Sub Comando22_Click()
'1 Rem compactar la base de datos actual---------------------------------------------------------------------
' Application.SetOption "Auto Compact", True
'tiempo de espera para que le de tiempo a compactar
' esperar = Now() + TimeValue("00:00:05")
' While Now() < esperar
' Wend
' 2 si no existe la carpeta "COPIAdb" la crea en el directorio actual------------------------------------------
Dim Carpeta1 As String
Rem crea la carpeta COPIAdb en el directorio actual si no existe
Dim MiRuta As String
Carpeta1 = "COPIAdb"
MiRuta = Application.CurrentProject.Path & "\" & Carpeta1
If Carpeta1 <> Dir(MiRuta, vbDirectory) Then MkDir MiRuta: MsgBox "CREA LA CARPETA COPIAdb"
'3 copia la base de datos actual con otro nombre en la carpeta "COPIAdb"------------------------------------------
Dim origen As String
Dim destino As String
origen = Application.CurrentProject.FullName
destino = Application.CurrentProject.Path & "\COPIAdb\" & Format(Now(), "yyyyMMDDhhnnss") & Application.CurrentProject.Name
If Right(Application.CurrentProject.Path, 7) = "COPIAdb" Then Let destino = Application.CurrentProject.Path & "\" & Format(Now(), "yyyyMMDDhhnnss") & Application.CurrentProject.Name
Dim Fs As Object, ColecObject As Object, DiskTemp
Set Fs = CreateObject("Scripting.FileSystemObject")
Fs.CopyFile origen, destino, True: 'This file was an .xls file
Set Fs = Nothing
Rem retardo en pasar a que haga la copia 10 s
esperar = Now() + TimeValue("00:00:10")
While Now() < esperar
Wend
DoCmd.Quit (acQuitSaveAll)
End Sub
Valora esta pregunta


0