Compactar una base de datos, usando código VB

  • 0 Respuestas
  • 2222 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5702
  • Actividad:
    76.67%
  • Country: ar
  • Reputación 37
  • ANTRAX
  • Skype: underc0de.org
  • Twitter: @Underc0de
    • Ver Perfil
    • Underc0de
    • Email

Compactar una base de datos, usando código VB

  • en: Julio 26, 2010, 10:47:07 am
Este es el código que uso para compactar las bases de datos. Cosa que suelo hacer bastante a menudo, sobre todo en las que uso en la empresa, que cambian a diario.
Por aquello de la seguridad, mantengo dos copias: la anterior y la última. Más vale prevenir. Nunca se sabe cuando se cortará la luz o se quedará colgado el equipo... así que, me curo en salud.

Código: Visual Basic
  1.  
  2. 'Cerrar la base (esto sólo si la tienes abierta...)
  3. Db.Close
  4. 'Liberar memoria y "desligarla"
  5. Set Db = Nothing
  6. '
  7. 'Tomar el nombre sin la extensión
  8. sTmp = ""
  9. i = InStr(NombreBase, ".")
  10. If i Then
  11.    p = i - 1
  12. Else
  13.    p = Len(NombreBase)
  14. End If
  15. sTmp = Left$(NombreBase, p)
  16. 'Buscar \, para tomar el directorio (path)
  17. For i = p To 1 Step -1
  18.    If Mid$(NombreBase, i, 1) = "\" Then
  19.       sTmp = Left$(NombreBase, i)
  20.       Exit For
  21.    End If
  22. Next
  23. If Right$(sTmp, 1) <> "\" Then
  24.    sTmp = sTmp & "\"
  25. End If
  26. 'Todo este proceso es para estar seguro de que se quede una copia
  27. 'en caso de que falle la compactación...
  28. dBaseTmp = sTmp & "~dBase2.mdb"
  29. If Len(Dir$(dBaseTmp)) Then Kill dBaseTmp
  30. If Len(Dir$(sTmp & "~dBase1.mdb")) Then Kill sTmp & "~dBase1.mdb"
  31. 'Esta es la madre del cordero, se pueden usar otras "versiones", es cuestión de adecuarte.
  32. CompactDatabase NombreBase, dBaseTmp, dbLangSpanish, dbVersion20
  33. 'Guardar una copia de como estaba antes
  34. Name NombreBase As sTmp & "~dBase1.mdb"
  35. 'Esta es la base ya compactada, así que asignar el nombre
  36. Name dBaseTmp As NombreBase
  37. 'Borrar los ficheros LDB
  38. If Len(Dir$(sTmp & "*.ldb")) Then Kill sTmp & "*.ldb"
« Última modificación: Julio 08, 2011, 10:08:12 am por ANTRAX »


 

Pasar datos de un campo MEMO a un campo TEXTO en Access

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3678
Último mensaje Julio 26, 2010, 03:56:45 pm
por ANTRAX
Tipos de Conexiones a Bases de Datos en Visual Basic

Iniciado por ANTRAX

Respuestas: 0
Vistas: 6611
Último mensaje Julio 26, 2010, 11:13:17 am
por ANTRAX
Como Guardar datos en el registro de Windows

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2263
Último mensaje Julio 26, 2010, 11:03:30 am
por ANTRAX
.bas para control de ODBC de bases de datos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2264
Último mensaje Julio 26, 2010, 12:41:20 pm
por ANTRAX
EAN13: Verificar y generar codigo de control

Iniciado por ANTRAX

Respuestas: 0
Vistas: 4542
Último mensaje Julio 26, 2010, 04:22:33 pm
por ANTRAX