Visual Basic - Compactar base de datos

Life is soft - evento anual de software empresarial
 
Vista:

Compactar base de datos

Publicado por pepe (3 intervenciones) el 27/10/2000 00:00:00
hola, mi consulta es como puedo compactar una base de datos de access 97 en visual basic, yo se que existe un código para hacerlo, pero no se cual es, agradeceria mucho su 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

RE:Compactar base de datos

Publicado por Ariopolis (159 intervenciones) el 14/12/2000 00:00:00
He encontrado este código con respecto a tu consulta, espero q te ayude. En txtdestino se tiene la base de datos a compactar.

Private Sub btnReparar_Click()
Dim filecopia As String
Dim fileold As String

Screen.MousePointer = vbHourglass
filecopia = App.Path & "\copia.bak"
fileold = App.Path & "\copia.tmp"
If FileExists(filecopia) Then
Kill filecopia
End If
DBEngine.CompactDatabase txtdestino.Text, filecopia
Name txtdestino.Text As fileold
Name filecopia As txtdestino.Text
Name fileold As filecopia
Screen.MousePointer = vbDefault
End Sub

Con este código guardas además unas copias de seguridad. Un saludo y espero q te sirva.
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 Roberto Campos Aliaga (1 intervención) el 14/08/2009 10:36:31
hola,
muy buen ejemplo. Basándome en el post anterior he hecho la siguiente función:

Public Function CompactDB(ByVal SourceDB As String) As Boolean
Dim filecopia As String
Dim fileold As String

On Error GoTo CompactDBAccess_control

Screen.MousePointer = vbHourglass

filecopia = App.Path & "Basescopia.bak"
fileold = App.Path & "Basescopia.tmp"

If ExisteFichero(filecopia) Then
Kill filecopia
End If

DBEngine.CompactDatabase SourceDB, filecopia
Name SourceDB As fileold
Name filecopia As SourceDB
Name fileold As filecopia


CompactDB = True

salir_CompactDBAccess:
Screen.MousePointer = vbDefault

Exit Function

CompactDBAccess_control:
MsgBox "Ha ocurrido un error al compactar la base de datos. El proceso se detendrá" _
& vbCrLf & vbCrLf & "Descripción del Error: " & Err.Description & _
vbCrLf & "Número del Error: " & Err.Number & _
vbCrLf & "Fuente: " & Err.Source & vbCrLf & _
"Avise a su informático de confianza", vbExclamation, "Mensaje de error"

Resume salir_CompactDBAccess

End Function

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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por JOSE (36 intervenciones) el 06/10/2021 11:31:42
hola buenos dias ,seria usted tan amable de decirme como se ejecuta esta funcion ,,un saludo soy principiante
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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por JOSE (36 intervenciones) el 13/10/2021 01:35:13
rectificado 100%




Private Sub Command1_Click()
CompactDB (Text1 + SourceDB)
End Sub
'referencia dao 3.6 no olvidar
Public Function CompactDB(ByVal SourceDB As String) As Boolean
Dim filecopia As String
Dim fileold As String

On Error GoTo CompactDBAccess_control

Screen.MousePointer = vbHourglass

filecopia = App.Path & "Basescopia.bak"
fileold = App.Path & "Basescopia.tmp"

If Dir(filecopia) <> "" Then
Kill filecopia
End If

DBEngine.CompactDatabase SourceDB, filecopia
Name SourceDB As fileold
Name filecopia As SourceDB
Name fileold As filecopia


CompactDB = True

salir_CompactDBAccess:
Screen.MousePointer = vbDefault

Exit Function

CompactDBAccess_control:
MsgBox "Ha ocurrido un error al compactar la base de datos. El proceso se detendrá" _
& vbCrLf & vbCrLf & "Descripción del Error: " & Err.Description & _
vbCrLf & "Número del Error: " & Err.Number & _
vbCrLf & "Fuente: " & Err.Source & vbCrLf & _
"Avise a su informático de confianza", vbExclamation, "Mensaje de error"

Resume salir_CompactDBAccess

End Function
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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por JOSE (36 intervenciones) el 06/10/2021 11:29:20
hola vi este codigo y me parece muy interesante pero me sucede una cosa y es que me da error en esta linea ,cuando lo ejecuto

If FileExists(filecopia) Then
este es el error procedimiento sub o funcion no definido

. espero me pueda ayudar muchas gracias ....
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
sin imagen de perfil
Val: 145
Ha aumentado 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por Sah1d Ra (191 intervenciones) el 06/10/2021 17:22:18
Me imagino podrías usar

1
iF dIR(fiLecOpiA) <> "" thEN

Saludos y felices líneas de programa10n.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por JOSE (36 intervenciones) el 07/10/2021 00:39:45
bueno muchas gracias por la atencion pero no le veo manera de que funcione
ahora me sale este otro error DBEngine.CompactDatabase "\base.mdb", filecopia
dice que se requiere un objeto , me pregunto si usted seria tan amable de pasarme unos codigos funcionables 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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

RE:Compactar base de datos

Publicado por JOSE (36 intervenciones) el 13/10/2021 01:37:37
repasado 100%
'se necesita referencia dao3.6

y modificar esto

If Dir(filecopia) <> "" Then
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
sin imagen de perfil
Val: 355
Bronce
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Compactar base de datos

Publicado por Raul (160 intervenciones) el 08/10/2021 04:31:20
Pepe todos los códigos están bien solo falta algo de magia. Añade a tu proyecto la referencia "Microsoft JRO engine" solo entonces tienes acceso a la librería JRO con la cual inicializas una variable hacia esta clase y verás que tiene la propiedad compatdatabase
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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Compactar base de datos

Publicado por JOSE (36 intervenciones) el 10/10/2021 23:19:29
gracias por contestar ,,voy a revisarlo y le comento ..
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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Compactar base de datos

Publicado por JOSE (36 intervenciones) el 12/10/2021 01:34:48
bueno yo hice lo que dentro de mi pude pero no veo manera instale la referencia mocosoft jet and replicator 2.6 y nada de nada mas arriba rectifique la sentencia if file ??? o sea no estan bien los codigos ,pero si estan bien para volverse loco y perder el tiempo un saludo pedi unos codigos funcionables y nada ...
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 JOSE
Val: 58
Ha disminuido 1 puesto en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

Compactar base de datos

Publicado por JOSE (36 intervenciones) el 13/10/2021 00:04:50
muchas gracias raul funciono todo perfecto solo una cosa puse type 5 enverde 4 ....
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