Visual Basic - Compactar base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Compactar base de datos

Publicado por Karlo (5 intervenciones) el 26/10/2005 17:13:35
Quisiera saber si hay alguna manera de compactar una base de datos de acces desde VB, esto para evitar que la base de datos se infle demasiado.

Gracias por la ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Luis

RE:Compactar base de datos

Publicado por Luis (11 intervenciones) el 26/10/2005 18:38:04
Si ...

Existe la clase JRO
mediante esa referencia puedes compactar desde VB6 una base de datos de access 2000 ..

ahi va ...

Public Sub CompactarBase()

On Error GoTo VerErrores

Dim StrEliminarBase As String
Dim MiBase1 As String
Dim MiBase2 As String
Dim BaseInicial As String
Dim BaseFinal As String
Dim jro1 As New JRO.JetEngine

If StrMiBase.State = 1 Then
Call CerrarCon
End If

MiBase1 = LaRuta & "\xxxx.mdb;"
MiBase2 = LaRuta & "\xxxxNueva.mdb;"

BaseInicial = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="
BaseFinal = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="

BaseInicial = BaseInicial & MiBase1 & _
"Jet OLEDB:Database Password=xxxx"

BaseFinal = BaseFinal & MiBase2 & _
"Jet OLEDB:Database Password=xxxx"

jro1.CompactDatabase BaseInicial, BaseFinal

Kill LaRuta & "\xxxx.mdb"

jro1.CompactDatabase BaseFinal, BaseInicial

Kill LaRuta & "\xxxNueva.mdb"

Set jro1 = Nothing

End Sub


Saludos desde bs as argentina !!!!!!!!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Compactar base de datos

Publicado por skrak (4 intervenciones) el 26/10/2005 19:22:05
Hola que tal.
un código parecido al tuyo encontré en la página de Guille. Al ejecutarlo y cuando llega a

je.CompactDatabase "Data Source=" ....

aparece un MsgBox con el siguiente error:

-2147467259
No se pudo encontrar el archivo ISAM instalable

lo he ejecutado en un ordenador con W2003, y dos con Windows XP y en los tres ocurre el mismo error. He mirado en la ayuda de VB pero no encuentro nada.
¿Sabes a qué se deve este error y que hay que hacer para solucionarlo?

Gracias de antemano

Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis

RE:Compactar base de datos

Publicado por Luis (11 intervenciones) el 26/10/2005 21:33:57
(Indexed Sequential Access Method) Método de acceso secuencial indexado. Método común de acceso a disco que almacena datos en forma secuencial, al tiempo que mantiene un índice de campos claves para todos los registros en el archivo para acceso directo. El orden secuencial sería el más comúnmente usado para el procesamiento por lotes y la impresión (número de cuenta, nombre, etc.).

ESE ERROR ES DEBIDO A QUE NO ENCUENTRA LA REFERENCIA DE JRO Ó QUE TE FALTA EL MDAC 2.7

Saludos ...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar