Pregunta: | 40405 - COMPACTAR Y REPARAR ACCESS DESDE VB |
Autor: | Carlos Serrano |
Estoy interesado en saber si es posible activar desde Visual basic la opción de Compactar y reparar la base de datos de Access...
Gracias... |
Respuesta: | Pedro Valencia |
Este es el codigo para poder compactar una base de datos
*********************** Sub CompactDatabaseX() Dim dbsNeptuno As Database Set dbsNeptuno = OpenDatabase("Neptuno.mdb") ' Muestra las propiedades de la base de datos original. With dbsNeptuno Debug.Print .Name & ", versión " & .Version Debug.Print " Secuencia de ordenación = " & .CollatingOrder .Close End With ' Asegúrese de que no existe un archivo con el ' nombre de la base de datos compactada. If Dir("NeptunCo.mdb") <> "" Then _ Kill "NeptunCo.mdb" ' Esta instrucción crea una versión compactada de ' la base de datos Neptuno que utiliza la secuencia ' de intercalación del lenguaje coreano. DBEngine.CompactDatabase "Neptuno.mdb", _ "NeptunCo.mdb", dbLangKorean Set dbsNeptuno = OpenDatabase("NeptunCo.mdb") ' Muestra las propiedades de la base de datos compactada. With dbsNeptuno Debug.Print .Name & ", versión " & .Version Debug.Print " Secuencia de ordenación = " & .CollatingOrder .Close End With End Sub ************************** y este el el codigo para poder repararla ************************************** Sub RepairDatabaseX() Dim errBucle As Error If MsgBox("¿Desea reparar la base de datos Neptuno?", _ vbYesNo) = vbYes Then On Error GoTo Err_Reparar DBEngine.RepairDatabase "Neptuno.mdb" On Error GoTo 0 MsgBox "¡Fin del procedimiento reparar!" End If Exit Sub Err_Reparar: For Each errBucle In DBEngine.Errors MsgBox "¡Falló Repair!" & vbCr & _ "Número de error: " & errBucle.Number & _ vbCr & errBucle.Description Next errBucle End Sub ******************* Espero te sirva de ayuda Saludos |