Reparar base de datos

Tengo una aplicación en visual basic que trabaja sobre una base de datos access 97, Cada vez que el tamaño del fichero .mdb sobrepasa los 10 mb me rompe el programa y tengo que repararla. Si la reparo con access y compacto me funciona el programa un par de días y vuelve a romper. ¿A qué puede ser debido? .
¿Si reparo la base de datos se pierden registros?, Creo que a parte de los registro erróneos también se pierden los registros que hay desde desde el primer registro con error hasta el final de la tabla. ¿Esto es correcto?
Sin tener relaciones entre las tablas, solo en consultas, ¿Se pierden registros de las tablas que relaciono en las consultas con registros erróneos?

2 respuestas

1
Respuesta de
Imagino que ya habrás usado también el Asistente para Analizar Tablas de access 97, así como el de rendimiento.
1. No creo que sea el tamaño de la BD el que te esta causando el problema por cuanto las:
Especificaciones de bases de datos:
Tamaño de archivo de base de datos (.mdb) 1 gigabyte
Especificaciones de tablas en access 97:
Tamaño de tabla 1 gigabyte
Especificaciones de consultas en access 97:
Tamaño de un conjunto de registros 1 gigabyte
2. El reparar la BD no creo que provoque la perdida de registros, en todo caso si has eliminado registros del final de una tabla que contiene un campo autonumérico y después la has compactado Access le dará al próximo campo Autonumérico el valor del último contador sin borrar, más 1.
3. No tiene que ver las Relaciones que tengas definidas con la perdida de registros.
Nota:
En Microsoft Access 97 y versiones anteriores, si se cambia el nombre de un campo en una tabla, los objetos basados en dicho campo dejarán de mostrar los datos del mismo. Esto, además de la avería irreparable de la BD y el borrado intencional de registros, es la única forma que conozco de perder registros de una tabla. Prueba con el Access Recovery, hay una versión demo en http://www.officerecovery.com/access/index.htm que es completamente funcional para el periodo de prueba.
Un cordial saludo
Raul
Añade un comentario a esta respuesta
1
Respuesta de
Hola gonzalovilla
Voy a aventurarme a responderte, viendo que nadie parece atreverse a dar una opinión.
En principio, 10 mb es un tamaño que access maneja con relativa soltura, sin problemas. Seguramente, esas roturas que dices que tienes no se deben a tamaño del mdb, sino a otros factores.
¿Tus tablas sobrepasan los 25.000 registros?
¿El numero de usuarios es más de 8 a la vez?
Respecto a lo que ocurre al reparar una BD, pueden pasar muchas cosas. Desde que no pierdas nada y todo vuelva a la normalidad hasta que te sea imposible reparar la BD y lo pierdas todo.
Efectivamente es habitual que, si se pierden registros de una tabla porque al reparar han quedado erróneos, haya perdidas en los registros posteriores, aunque no siempre ocurre.
Y respecto a las relaciones entre las tablas, pueden verse afectadas si has establecido actualizaciones o borrados en cascada, o exigido integridad referencial. Si simplemente las has relacionado, tienen tantas posibilidades de corromperse como si estuvieran sin relacionar.
Un saludo.
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje