Reparar base de datos

Respuesta de
raulmoscardo
a
Usuario
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?
Experto
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