Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Como hacer un backup en vb 6.0

Estas en el tema de Como hacer un backup en vb 6.0 en el foro de Visual Basic clásico en Foros del Web. Hola, alguien podria explicarme como hacer backup de la base de datos... Trabajo con visual basic 6.0 en una base de access. Muchas gracias....
  #1 (permalink)  
Antiguo 30/07/2008, 02:23
 
Fecha de Ingreso: marzo-2008
Mensajes: 47
Antigüedad: 16 años, 1 mes
Puntos: 1
Pregunta Como hacer un backup en vb 6.0

Hola, alguien podria explicarme como hacer backup de la base de datos... Trabajo con visual basic 6.0 en una base de access.
Muchas gracias.
  #2 (permalink)  
Antiguo 30/07/2008, 02:59
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Como hacer un backup en vb 6.0

Cita:
Iniciado por mosquitoislero Ver Mensaje
Hola, alguien podria explicarme como hacer backup de la base de datos... Trabajo con visual basic 6.0 en una base de access.
Muchas gracias.
Hola, mejor que explicarlo, te pongo un ejemplo comentado:

Código:
Public Function CopiaBD(sOrigen As String, sDestino As String) As String
    ' nota: tiene que estar marcada la referencia "Microsoft Access xx.x Object Library"
    Dim oAccess As New Access.Application
    ' comprobar que la BD origen existe
    If Len(Dir$(sOrigen)) = 0 Then
        CopiaBD = "La base de datos '" & sOrigen & "' no existe"
        Exit Function
    End If
    Screen.MousePointer = vbHourglass
    ' si ya existe el archivo de copia, lo eliminamos
    If Len(Dir$(sDestino)) Then Kill sDestino
    oAccess.CompactRepair sOrigen, sDestino
    Screen.MousePointer = vbDefault
    CopiaBD = "Realizada copia con éxito en '" & sDestino & "'."
End Function
Para llamar a esta función, prodrías poner el siguiente código p.e. en un Botón:

Código:
Private Sub cmdBacKUp_Click()
' Notas: Si existe alguna conexión abierta a la BD, cerrar primero
' If conexion.State = 1 Then conexion.Close
' La carpeta BackUp tiene que existir en el directorio de la aplicación
MsgBox CopiaBD(App.Path & "\MiDb.mdb", App.Path & "\BackUp\Copia de MiDb.mdb")
End Sub
  #3 (permalink)  
Antiguo 30/07/2008, 07:13
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: Como hacer un backup en vb 6.0

Disculpa Avellaneda pero si la base de datos tiene contraseña, como funcionaria
  #4 (permalink)  
Antiguo 30/07/2008, 11:29
 
Fecha de Ingreso: marzo-2008
Mensajes: 47
Antigüedad: 16 años, 1 mes
Puntos: 1
Respuesta: Como hacer un backup en vb 6.0

Gracias avellaneda, una pregunta mas antes de probar con lo que me dijiste...

' comprobar que la BD origen existe
If Len(Dir$(sOrigen)) = 0 Then

donde dice: (Dir$(sOrigen)) debo colocar la ruta de origen, p.e. ("C:\Documents and Settings\Ema\My Documents\Seminario\origen.mdb")

Gracias de nuevo...

Saludos.
  #5 (permalink)  
Antiguo 30/07/2008, 12:23
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Como hacer un backup en vb 6.0

Cita:
Iniciado por mosquitoislero Ver Mensaje
Gracias avellaneda, una pregunta mas antes de probar con lo que me dijiste...

' comprobar que la BD origen existe
If Len(Dir$(sOrigen)) = 0 Then

donde dice: (Dir$(sOrigen)) debo colocar la ruta de origen, p.e. ("C:\Documents and Settings\Ema\My Documents\Seminario\origen.mdb")

Gracias de nuevo...

Saludos.
Así es, pero si estás utilizando la función se lo pasas como primer parámetro.

Para SalomonSab

En ése caso utilizamos la referencia a JRO

Código:
Public Function CopiaBDPwd(sOrigen As String, sDestino As String, sPwd As String) As String
    ' marcar referencia: 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
    je.CompactDatabase "Data Source=" & sOrigen & ";" & _
        "Jet OLEDB:Database Password=" & sPwd, _
        "Data Source=" & sDestino & ";" & _
        "Jet OLEDB:Database Password=" & sPwd
    
    CopiaBDPwd = "Realizada copia con éxito en '" & sDestino & "'."
End Function
La llamada a la función es igual a la anterior, pero pasándole un tercer parámetro con la password.

  #6 (permalink)  
Antiguo 30/07/2008, 12:25
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: Como hacer un backup en vb 6.0

Excelente Gracias Avellaneda
  #7 (permalink)  
Antiguo 29/09/2011, 12:23
 
Fecha de Ingreso: septiembre-2011
Mensajes: 1
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Como hacer un backup en vb 6.0

Hola. Estoy haciendo una aplicación vb 6.0 y he aplicado este código para hacer un backup. En el proyecto funciona perfecto, pero cuando empaqueto, si bien sDestino funciona perfecto, el error que me da es el 3051. La ruta está bien, pero creo que la base access es de solo lectura, incluso cuando trato de arreglarlo desde el mismo access me dice que no puede abrir el archivo.
¿Podrían ayudarme, por favor?
Desde ya muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:41.