Borrar copia de formulario Access al crear una.

Tengo este modulo para crear una copia del la base de datos y quisiera saber si es posible que al crear una borrara ya la existente.

Este es el modulo

'Definimos el nombre del backup, que será la fecha del sistema más el nombre de la BD
'A la fecha le damos formato con separador por puntos porque la barra nos daría un nombre de archivo no válido.
'Ponemos antes el mes para conseguir una ordenación correcta por fecha
NombreBackup = Format(Date, "yy.mm.dd") & "-" & NombreBD

'Creamos el fullBackup (ruta+nombre+extension)
FullBackup = RutaBackup & NombreBackup
'Lanzamos un aviso diciendo dónde se va a crear la copia de seguridad y qué nombre tendrá. Solicitamos confirmación al usuario.
resp = MsgBox("Se va a realizar una copia de seguridad con la siguiente ruta y" _
& " nombre de archivo:" & vbCrLf & vbCrLf & FullBackup _
& vbCrLf & vbCrLf & "Recuerda que es Año, Mes y Dia" & vbCrLf & vbCrLf & vbTab & "¿Deseas continuar?", vbQuestion + vbYesNo, "BACKUP")
'Si la respuesta es NO salimos del proceso
If resp = vbNo Then Exit Sub

'Creamos el FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
'Accedemos a la carpeta de copias de seguridad. Si la carpeta no existe nos saltará el error 76. Lo gestionamos desde el control de errores
Set FSC = FSO.GetFolder(RutaBackup)

'Establecemos la hipótesis de que ya existe una copia de la BD con el mismo nombre
YaExisteBackup = True

'Comprobamos si efectivamente ya existe una copia con el mismo nombre.
'Si el archivo no existe nos saltará el error 53. Lo gestionamos desde el control de errores
Set FSA = FSO.GetFile(FullBackup)

'Si ya existe el backup informamos y pedimos al usuario qué desea hacer
If YaExisteBackup = True Then
resp = MsgBox("Ya existe un backup con el mismo nombre. ¿Desea sobrescribirlo?", vbQuestion + vbYesNo, "COPIA EXISTENTE")
'Si el usuario no desea sobrescribir salimos del proceso
If resp = vbNo Then Exit Sub
End If

'Finalmente, guardamos la copia de seguridad
FSO.CopyFile RutaFullBD, FullBackup

'Lanzamos un mensaje de aviso
MsgBox "Copia de seguridad realizada correctamente", vbInformation, "CORRECTO"

Salida:
Exit Sub
sol_err:

'Gestionamos los errores 76, 53 y otros.
Select Case Err.Number
Case 76 'La carpeta no existe
'Creamos la carpeta
FSO.CreateFolder (RutaBackup)
'Seguimos con la ejecución del código en el punto de interrupción
Resume Next
Case 53 'El archivo no existe
'Cambiamos el valor de yaExisteBackup
YaExisteBackup = False
'Seguimos con la ejecución del código en el punto de interrupción
Resume Next
Case Else 'Si se produce otro error
MsgBox "Se ha producido el error: " & Err.Number & " - " & Err.Description
Resume Salida
End Select
End Sub

Añade tu respuesta

Haz clic para o