Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Compactar una base de datos, usando código VB

  • 0 Respuestas
  • 2074 Vistas

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

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5487
  • Actividad:
    26.67%
  • Reputación 35
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« 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 »


 

¿Te gustó el post? COMPARTILO!



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

Iniciado por ANTRAX

Respuestas: 0
Vistas: 3298
Ú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: 6012
Último mensaje Julio 26, 2010, 11:13:17 am
por ANTRAX
.bas para control de ODBC de bases de datos

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2091
Último mensaje Julio 26, 2010, 12:41:20 pm
por ANTRAX
Como Guardar datos en el registro de Windows

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2098
Último mensaje Julio 26, 2010, 11:03:30 am
por ANTRAX
[CrapCode] Codigo que tira rayos por los ojos.

Iniciado por 79137913

Respuestas: 0
Vistas: 2345
Último mensaje Febrero 07, 2013, 09:18:02 am
por 79137913