Cita:
Iniciado por marceperez322
////
Espero que sirva. Se que es un disparate de código pero es el de mejor resultado que tengo, ya que no solo respalda sino también compacta. Tal vez alguien sepa de uno mas simple y compacto.
Saludos Marcelo
La verdad es que sí, creo que es demasiado código para solamente copiar y compactar una base de datos.
Basándonos en un ejemplo que puse hace unos días:
Código:
Public Function CopiaBDPwd(sOrigen As String, sDestino As String, Optional sPwd As String) As String
' en Proyecto->Referencias: Microsof Jet and Replication objects 2.6 Library
Dim je As JRO.JetEngine
Set je = New JRO.JetEngine
If Len(Dir$(sDestino)) Then Kill sDestino
If IsMissing(sPwd) Then sPwd = ""
je.CompactDatabase "Data Source=" & sOrigen & ";" & _
"Jet OLEDB:Database Password=" & sPwd, "Data Source=" & sDestino & ";"
CopiaBDPwd = "Realizada copia con éxito en '" & sDestino & "'."
End Function
Para hacer la copia:
Código:
Private Sub HacerCopia_Click()
MsgBox CopiaBDPwd(App.Path & "\MiDB.mdb", App.Path & "\BackUp\Copia de MiDB.mdb", "MiPassword")
End Sub
Para restaurar la copia:
Código:
Private Sub RestaurarCopia_Click()
MsgBox CopiaBDPwd(App.Path & "\BackUp\Copia de MiDB.mdb", App.Path & "\MiDB.mdb", "MiPassword")
End Sub
Si la base de datos no tiene Password, no le pasas el último parámetro:
CopiaBDPwd(App.Path & "\MiDB.mdb", App.Path & "\BackUp\Copia de MiDB.mdb")