Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

 

Copia de Seguridad de Archivo MS Access (.mdb) a Pendrive con VB6

 

Para crear una copia de seguridad de un archivo MS Access (.mdb) a un pendrive cuando se hace clic en un botón en un formulario VB6, puedes usar el siguiente código:

vb

Private Sub cmdBackup_Click()

    On Error GoTo ErrorHandler

   

    Dim ArchivoOrigen As String

    Dim ArchivoDestino As String

    Dim UnidadPendrive As String

    Dim FSO As Object

    Dim Drv As Object

    Dim Existe As Boolean

   

    ' Ruta del archivo de origen (base de datos Access)

    ArchivoOrigen = "C:\Ruta\A\Tu\BaseDeDatos.mdb" ' Cambiar por tu ruta real

   

    ' Verificar si el archivo de origen existe

    If Dir(ArchivoOrigen) = "" Then

        MsgBox "El archivo de origen no existe: " & ArchivoOrigen, vbExclamation

        Exit Sub

    End If

   

    ' Crear objeto FileSystemObject

    Set FSO = CreateObject("Scripting.FileSystemObject")

   

    ' Buscar la unidad del pendrive (asumiendo que es la primera unidad extraíble)

    Existe = False

    For Each Drv In FSO.Drives

        If Drv.DriveType = 1 Then ' 1 = Unidad extraíble (Removable)

            UnidadPendrive = Drv.DriveLetter & ":\"

            Existe = True

            Exit For

        End If

    Next

   

    If Not Existe Then

        MsgBox "No se encontró un pendrive conectado.", vbExclamation

        Exit Sub

    End If

   

    ' Crear nombre de archivo de destino con fecha y hora

    ArchivoDestino = UnidadPendrive & "Backup_BD_" & Format(Now, "yyyy-mm-dd_hh-nn-ss") & ".mdb"

   

    ' Copiar el archivo

    FSO.CopyFile ArchivoOrigen, ArchivoDestino, True ' True = sobrescribir si existe

   

    MsgBox "Copia de seguridad creada exitosamente en:" & vbCrLf & ArchivoDestino, vbInformation

   

    Exit Sub

   

ErrorHandler:

    MsgBox "Error al crear la copia de seguridad:" & vbCrLf & Err.Description, vbCritical

End Sub

Instrucciones para implementar:

  1. Agrega un botón (CommandButton) a tu formulario y nómbralo cmdBackup (o cambia el nombre en el código).
  2. Cambia la ruta ArchivoOrigen por la ubicación real de tu archivo .mdb.
  3. Opcionalmente, puedes mejorar el código con:
    • Un diálogo para seleccionar el archivo de origen
    • Verificación de espacio disponible en el pendrive
    • Opción para seleccionar entre múltiples unidades extraíbles
    • Barra de progreso para archivos grandes
  4. Para usar FileSystemObject, asegúrate de tener la referencia "Microsoft Scripting Runtime" activada en tu proyecto (Menú Project > References).

Versión alternativa sin FileSystemObject:

vb

Private Sub cmdBackup_Click()

    On Error GoTo ErrorHandler

   

    Dim ArchivoOrigen As String

    Dim ArchivoDestino As String

    Dim UnidadPendrive As String

    Dim i As Integer

   

    ArchivoOrigen = "C:\Ruta\A\Tu\BaseDeDatos.mdb" ' Cambiar por tu ruta real

   

    ' Verificar archivo origen

    If Dir(ArchivoOrigen) = "" Then

        MsgBox "El archivo de origen no existe.", vbExclamation

        Exit Sub

    End If

   

    ' Buscar pendrive (de la Z: hacia atrás)

    For i = 26 To 1 Step -1

        If GetDriveType(Chr(i + 64) & ":\") = 2 Then ' DRIVE_REMOVABLE = 2

            UnidadPendrive = Chr(i + 64) & ":\"

            Exit For

        End If

    Next

   

    If UnidadPendrive = "" Then

        MsgBox "No se encontró un pendrive conectado.", vbExclamation

        Exit Sub

    End If

   

    ' Crear nombre de archivo con fecha

    ArchivoDestino = UnidadPendrive & "Backup_BD_" & Format(Now, "yyyy-mm-dd") & ".mdb"

   

    ' Copiar archivo

    FileCopy ArchivoOrigen, ArchivoDestino

   

    MsgBox "Copia de seguridad creada en:" & vbCrLf & ArchivoDestino, vbInformation

   

    Exit Sub

   

ErrorHandler:

    MsgBox "Error al crear copia: " & Err.Description, vbCritical

End Sub


Para esta versión necesitas declarar la API de Windows al inicio del módulo:

vb

Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" (ByVal nDrive As String) As Long

Ambos métodos te permitirán crear copias de seguridad de tu base de datos Access en un pendrive con solo hacer clic en un botón.

 

Comentarios

Entradas populares de este blog

Como proteger una api json con php al pasar el parametro POST[id] de los ataques sql injection y xss

NUMEROS SERIE DE DISCO RIGIDO Y PENDRIVER USB CON PHP