Access - Compactarse a si misma.

 
Vista:

Compactarse a si misma.

Publicado por Antonio GM (14 intervenciones) el 05/01/2001 00:00:00
Quiero hacer que una base de datos se compacte a si misma por codigo. El metodo Compactdatabase, no me deja, pues para ello el fichero debe estar cerrado.
He intentado utilizar el metodo DomenuItem pero la funcion compactar no esta.

¿Como podria hacer que una base de datos se compactase al cerrarse?

Muchas gracias y Felices Reyes...
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:Compactarse a si misma.

Publicado por tecniCam (117 intervenciones) el 05/01/2001 00:00:00
Compáctala con otro nombre
Borra el nombre anterior
Vuelve a compactar la última
Borra la última

O sea, compactar dos veces, una a otra y otra a una.

Para borrar usa Kill
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:Compactarse a si misma.

Publicado por Eso no funciona (14 intervenciones) el 08/01/2001 00:00:00
Eso no funciona si yo tengo la base de datos en funcionamiento. No puedo borrar una base de datos que esta en funcionamiento...
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:Compactarse a si misma.

Publicado por Vicent (140 intervenciones) el 14/01/2001 00:00:00
Puedes hacer dos cosas:
1) crearte una barra de menus personalizada en la cual esté sólo la opción compactar, de manera que cuando el usuario haga click sobre un botón se abra la barra de menús y puede compactarla.
2) crear una base de datos aparte que al abrirla
compacte la que tú quieres, es decir lo conseguirás desde fuera.

Si quieres más información de los dos métodos, envíame un email
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:Aquí tienes tu solución en dos archivos

Publicado por Luis Fernando Botero Rojas (29 intervenciones) el 17/02/2001 23:02:51
Hola Antonio:
A tu dirección de correo he enviado la solución que tú necesitas. La idea que tienes que no se puede compactar una base de datos que se encuentra actualmente abierta, es totalmente cierta. Pero ello no quiere decir que no
puedas usar los métodos que provee access en algunos de sus objetos para dicha tarea. El truco es compactar BD's no abiertas en un archivo diferente! A ver te explico lo que debes hacer: 1. tener tus tablas en una BD independiente
(ej: tablas.mdb)
2. Tener los demás objetos en otra BD (ej: programas.mdb)
3. Vinculas las tablas de "tablas.mdb" en "programas.mdb"
Nota para vincular: archivo, obtener datos externos, vincular tablas y seleccionas las tablas necesáreas y picas en Aceptar.
4. Una vez hecho ésto, Creas un form donde colocas un botón al cual le asocias al evento click, una llamada a un procedimiento llamado "compactdb". Este se encarga de compactar la base de datos "tablas.mdb", refrescar los vínculos con ésta, etc. Bueno todo ésto que te explico lo puedes verificar claramente en dos archivos MDB que te estoy enviando a tu correo y que tienen el mismo nombre que usé anteriormente. Bien, cualquier duda que tengas sobre los procedimientos utilizados, comunícate conmigo a [email protected] y con gusto te respondo.
Un gran saludo desde NEIVA-COLOMBIA.
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:Aquí tienes tu solución en dos archivos

Publicado por Luis Fernando Botero Rojas (29 intervenciones) el 17/02/2001 23:10:09
Hola Antonio:
A tu dirección de correo he enviado la solución que tú necesitas. La idea que tienes que no se puede compactar una base de datos que se encuentra actualmente abierta, es totalmente cierta. Pero ello no quiere decir que no
puedas usar los métodos que provee access en algunos de sus objetos para dicha tarea. El truco es compactar BD's no abiertas en un archivo diferente! A ver te explico lo que debes hacer: 1. tener tus tablas en una BD independiente
(ej: tablas.mdb)
2. Tener los demás objetos en otra BD (ej: programas.mdb)
3. Vinculas las tablas de "tablas.mdb" en "programas.mdb"
4. Una vez hecho ésto, Creas un form donde colocas un botón al cual le asocias al evento click, una llamada a un procedimiento llamado "compactdb". Bueno todo ésto que te explico lo puedes verificar claramente en dos archivos MDB que te estoy enviando a tu correo y que tienen el mismo nombre que usé anteriormente. Debes tener en cuenta: 1. programas.mdb ya tiene vínculos, pero éstos no funcionarán si copias éstos archivos en una carpeta diferente a D:\TEMP. Dado éste caso, quita los vínculos y créalos nuévamente en la nueva carpeta que hayas elegido para alojar éstos archivos.
2. Debes entrar al editor de VB y eliminar cualquier referencia que diga: "FALTA" y crear una referencia a: Microsoft DAO 3.6 Object Lybrary. Al final compilas y listo!
Nota para referencias: En editor VB, Herramientas, Referencias. Bien, cualquier duda que tengas sobre los procedimientos utilizados,
comunícate conmigo a [email protected] y con gusto te respondo.
Un gran saludo desde NEIVA-COLOMBIA.
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