Visual Foxpro : Utilidades - reparar tabla dañada
CM TABLE REPAIR - TODO TIPO DE TABLAS DBF
Utilidad de verificación y reparación para Visual FoxPro, FoxPro y otras tablas de tipo DBF. Puede ver y reparar casi todos los elementos del encabezado, la estructura y los datos de la tabla y los archivos de notas. Se puede llamar desde el código para reparar automáticamente encabezados o datos incorrectos. la ultima version es del 2016
Web Oficial de cm table repair https://esoft.cmstory.com/cm-table-repair
→ Descarga 1 utilidad cmrepair2016a :
https://teraboxapp.com/s/1fkxcz9Wk2qd0TQLEivdYqQ
→ Descarga 2 utilidad cmrepair2016a :
https://www.mediafire.com/file/iv3cz779wp1rqyi/cmrepair2016a.rar/file
Germán Fabricio Valdez
Hice hace tiempo una pequeña aplicacion que corrige solo un error mas comun
→ Descarga 1 Utilidad repcabeceradbf.app :
https://teraboxapp.com/s/1LZLpHB_5lCC7gF_Y0m34IA
→ Descarga 2 Utilidad repcabeceradbf.app :
https://www.mediafire.com/file/mol0ptbd5ien87d/repcabeceradbf.app/file
Metodo Manual 1
De momento me encontré con lo que parece ser una solución también, consiste en:
Abrir la Base de Datos utilizando VFP6 portable, localizo la tabla dañada, la modifico agregándole una nueva columna, guardo los cambios, cierro todo, y pruebo otra vez el sistema, de momento desapareció el error.
Después de comprobar que funcionó, abro con VFP9 y elimino la columna que había creado.
Tal vez sí luego se solucionaba con VFP6 y no lo comprendí a la primera.
Metodo Manual 2
Hola has esto
Use efectivo exclusive
Set tablevalidate to 0
Append blank
Delete
Pack
Set tablevalidate to 1
Así repararás el 99 % de las tablas cuando el problema es la cabecera para el otro 1 % te puedo enviar una rutina para hacerlo y lo integres a tu sistema
Totalmente de acuerdo, es lo mas recomendable, abrir la tabla en validación 0, agregar un registro en blanco, deletear ese registro en blanco y pack a la tabla.
Pero ojo, si tienes registros marcados como deleteados con el pack también desaparecen y pueda que no sea lo deseado.
Otra solución fácil y practica, abrir la tabla en validación cero, copiar la estructura de la tabla con problema a una nueva tabla free (libre), y pasar todos los registros a esta nueva tabla, luego remover la tabla averiada, renombrar la nueva tabla y agregarla al contendor de base de datos.
Utiliza el tablevalidate, como te indican arriba, Alexander Márquez es muy efectivo.
Referencia
https://groups.google.com/g/publicesvfoxpro/c/WCNLh1MSGCE