Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/10/2003, 08:41
Avatar de BrujoNic
BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Tu problema es muy común cuando se usa Xbase en lo referente a borrados de registros. Te das cuenta que estan borrados porque estan marcados como tal pero te los va a seguir mostrando hasta que hagas un PACK. Pero el PACK solo funciona cuando tenes la tabla abierta EXCLUSIVO y como tu aplicación esta trabajando en red SHARED (SUPONGO) no vas a poder eliminarlo físicamente.

Una solución alternativa para que te funcione es que le agregues a la tabla o tablas un campo adicional tipo BOOLEAN llamado por ejemplo borrado o algo que identifique que el registro esta borrado. Lo inicializas en .F. (NO BORRADO) todos los registros y cada ves que vayas a borrar un registro o registros, lo cambias a .T. (BORRADO) luego modificas los índices dejando todo igual pero agregandole la sentecia WHERE borrado = .F. para que solo te muestre los registros activos.

Luego al final del día o por un proceso automático abris las tablas en forma EXCLUSIVA con otro índice donde tenga catalogado los borrados WHERE borrado = .T., los borres y luego apliques el comando PACK.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL