Registros perdidos por problema de indices

18/08/2005 - 11:30 por Rolando Uculmana | Informe spam
Estimados amigos, espero alguien pueda ayudarme.

Estoy trabajando con vfp 6.0. Probe tambien con vfp 7 y el problema sigue.

Me ocurrió que en algun momento un archivo de índice se dañó. El daño se
hace evidente cuando se carga el TAG de la tabla y se recorre el archivo
manualmente, al pasar el puntero por ciertos registros de la tabla se
presenta el mensaje de error: EL INDICE NO CORRESPONDE A LA TABLA. ELIMINE
EL ARCHIVO DE INDICE Y VUELVA A CREARLO.

El problema es que si no hago esto, el programa no se da cuenta que el
indice esta mal y aparentemente sigue grabando de forma normal. Es decir
sigue aceptando operaciones que no dan ningun error pero luego al ver la
tabla los registros no se han grabado.

Lo mas curioso es que incluso la grabación de la tabla esta dentro de un
BEGIN TRANSACTION y la he puesto en buffer para actualizarla con un
TABLEUPDATE(), sin embargo el tableupdate no da ningun error. Incluso
luego de hacer el update hago un seek sobre la tabla al registro añadido y
supuestamente lo encuentra. También he hecho un select luego de hacer el
tableupdate y me muestra el registro, pero cuando se finaliza la
transacción solo los cambios en esa tabla que tiene el indice malo han
desaparecido. Lo unico que me ha funcionado para hacer saltar el error ha
sido poner un BROWSE luego de actualizar la tabla, pero no es una solución
muy simpatica.

Alguien tiene una forma de detectar ese tipo de fallas desde el inicio del
formulario para evitar perder información???

saludos,

Rolando Uculmana


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway
 

Leer las respuestas

#1 Luis María Guayán
18/08/2005 - 16:58 | Informe spam
Debes crear el índice nuevamente si está dañado.

Luis María Guayán
Tucumán, Argentina
________________________________
SysOp de www.PortalFox.com
Microsoft Visual FoxPro MVP
________________________________
La palabra imposible solo figura
en el diccionario de los tontos

"Rolando Uculmana" escribió en el mensaje
news:
Estimados amigos, espero alguien pueda ayudarme.

Estoy trabajando con vfp 6.0. Probe tambien con vfp 7 y el problema sigue.

Me ocurrió que en algun momento un archivo de índice se dañó. El daño se
hace evidente cuando se carga el TAG de la tabla y se recorre el archivo
manualmente, al pasar el puntero por ciertos registros de la tabla se
presenta el mensaje de error: EL INDICE NO CORRESPONDE A LA TABLA. ELIMINE
EL ARCHIVO DE INDICE Y VUELVA A CREARLO.

El problema es que si no hago esto, el programa no se da cuenta que el
indice esta mal y aparentemente sigue grabando de forma normal. Es decir
sigue aceptando operaciones que no dan ningun error pero luego al ver la
tabla los registros no se han grabado.

Lo mas curioso es que incluso la grabación de la tabla esta dentro de un
BEGIN TRANSACTION y la he puesto en buffer para actualizarla con un
TABLEUPDATE(), sin embargo el tableupdate no da ningun error. Incluso
luego de hacer el update hago un seek sobre la tabla al registro añadido y
supuestamente lo encuentra. También he hecho un select luego de hacer el
tableupdate y me muestra el registro, pero cuando se finaliza la
transacción solo los cambios en esa tabla que tiene el indice malo han
desaparecido. Lo unico que me ha funcionado para hacer saltar el error ha
sido poner un BROWSE luego de actualizar la tabla, pero no es una solución
muy simpatica.

Alguien tiene una forma de detectar ese tipo de fallas desde el inicio del
formulario para evitar perder información???

saludos,

Rolando Uculmana


PortalFox :: Nada corre como un zorro
http://www.portalfox.com

PortalFox - NNTP Forum Gateway

Preguntas similares