Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/10/2008, 11:14
lebiatan123
 
Fecha de Ingreso: septiembre-2008
Mensajes: 12
Antigüedad: 15 años, 8 meses
Puntos: 0
Sonrisa Restaurar la base de datos ??

HOLA FOTO. NECESITO SU AYUDA. NO SE COMO HACER PARA RESTAURAR LA BASE DE DATOS DEL SISTEMA. ESTE CODIGO LO UTILIZO PARA RESPALDAR :
Y CUANDO RESPALDO ME SALE ESTE MENSAJE :
ADODC1
NO ES UNA CONTRASEÑA VALIDA...

BUENO AQUI ESTAN LOS CODIGOS PARA RESPALDAR.:
Dim bCompactando As Boolean



Private Sub cmdRespaldar_Click()
Dim oMDB As DAO.Database
Dim nYesNo As VbMsgBoxResult

Dim sBackup As String, sOld_BDResi As String

Me.cmdRespaldar.Enabled = False
Me.CmdSalir.Enabled = False

On Error Resume Next


' Si la base de datos esta abierta, la cerramos ...
If Not BDResi Is Nothing Then
BDResi.Close
Set BDResi = Nothing
End If

On Error GoTo Error_CreateSubFolder

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"Generando el subfolder para respaldo de la base de datos ..."
Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)
Me.txtAdvertencia.Refresh
DoEvents

' Si no existe el folder para respaldos, lo generamos ...

If Dir(App.Path & "\Respaldos\*.*", vbDirectory) = "" Then
MkDir App.Path & "\Respaldos"
End If

' Generamos nombre para respaldo (nombre mdb + fecha +hora.mdb) ...

sBackup = CStr(CSng(Now))
sBackup = Trim(Replace(sBackup, ".", "_"))

sBackup = App.Path & "\Respaldos\Residentes_" & sBackup & ".mdb"

On Error GoTo Error_Kill_Old_Backup

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"Eliminando respaldo previo de la base de datos ..."
Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)
Me.txtAdvertencia.Refresh
DoEvents

' Si existe el archivo en folder de respaldos, eliminarlo ...

If Dir(sBackup) <> "" Then
Kill sBackup
End If

On Error GoTo Error_Exclusividad

Reintenta_Acceso_Exclusivo:

pRutaBDResi = "C:\sistema para trabajo especial de grado\base de datos\honorarios.mdb" ' ruta y nombre de la base de datos a respaldar ...
Set oMDB = DBEngine.OpenDatabase(pRutaBDResi, True, False, ";PWD=elPassword")

On Error GoTo 0

oMDB.Close
Set oMDB = Nothing

bCompactando = True

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"Generando el respaldo de la base de datos ..."

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)
Me.txtAdvertencia.Refresh
DoEvents

Me.MousePointer = vbHourglass
Screen.MousePointer = vbHourglass

DBEngine.CompactDatabase pRutaBDResi, sBackup, , , ";PWD=elPassword"

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"Compactando la base de datos (Liberando Espacio) ..." & vbCrLf & vbCrLf

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)
Me.txtAdvertencia.Refresh
DoEvents

' Antes de regresar la MDB compactada, renombro la mdb actual (solo por si acaso ...)

sOld_BDResi = pRutaBDResi & "_Old.mdb"

If Dir(sOld_BDResi) <> "" Then Kill sOld_BDResi

Name pRutaBDResi As sOld_BDResi

' Regreso la MDB compactada ...

DBEngine.CompactDatabase sBackup, pRutaBDResi, , , ";PWD=elPassword"

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"Finalizó la generación del respaldo de la base de datos !" & vbCrLf & vbCrLf & _
"Si lo deseas, ya puedes salir de la aplicación y apagar el equipo ..." & vbCrLf

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)
Me.txtAdvertencia.Refresh
DoEvents

bCompactando = False

Me.MousePointer = vbArrow
Screen.MousePointer = vbArrow

Me.txtAdvertencia.Enabled = True
Me.txtAdvertencia.Locked = True

Me.cmdRespaldar.Enabled = False
Me.CmdSalir.Enabled = True
Me.CmdSalir.Caption = "&Salir"

Exit Sub

Error_CreateSubFolder:
MsgBox "Error " & Err.Number & vbCrLf & _
Err.Description & vbCrLf & vbCrLf & _
"Al intentar generar el subfolder " & App.Path & "\Respaldos" & vbCrLf, _
vbCritical + vbOKOnly

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"El proceso de respaldo de la base de datos ha sido cancelado ..." & vbCrLf & vbCrLf

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)

Me.CmdSalir.Enabled = True
bCompactando = False
Exit Sub



Error_Kill_Old_Backup:
MsgBox "Error " & Err.Number & vbCrLf & _
Err.Description & vbCrLf & vbCrLf & _
"Al intentar eliminar respaldo antiguo " & sBackup & vbCrLf, _
vbCritical + vbOKOnly

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"El proceso de respaldo de la base de datos ha sido cancelado ..." & vbCrLf & vbCrLf

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)

Me.CmdSalir.Enabled = True
bCompactando = False
Exit Sub



Error_Exclusividad:
nYesNo = MsgBox("Error " & Err.Number & vbCrLf & _
Err.Description & vbCrLf & vbCrLf & _
"Al intentar accesar en forma EXCLUSIVA la base de datos del sistema " & vbCrLf & _
vbCrLf & "Verifica que nadie esté laborando en el sistema !" & vbCrLf & _
vbCrLf & "Deseas reintentar el acceso ?", vbCritical + vbYesNo)

If nYesNo = vbYes Then
Resume Reintenta_Acceso_Exclusivo
End If

Me.txtAdvertencia = Me.txtAdvertencia & vbCrLf & vbCrLf & _
"El proceso de respaldo de la base de datos ha sido cancelado ..." & vbCrLf & vbCrLf

Me.txtAdvertencia.SelLength = Len(Me.txtAdvertencia)
Me.txtAdvertencia.SelStart = Len(Me.txtAdvertencia)

Me.CmdSalir.Enabled = True
bCompactando = False

Exit Sub



End Sub

GRACIAS. ESPERO ME PUEDAN A YUDAR PARA SOLUCIONAR EL MENSAJE ESE QUE ME SALE Y A RESTAURAR.