PACK no borra los registros.

Post Reply
Daniel Asensio

PACK no borra los registros.

Post by Daniel Asensio »

Tenemos problemas con Harbour en un programa en FWPPC porque no borra los registros de un DBF.

Al hacer PACK no se borran los registros y ademas no se queda con la marca de borrado el primer registro.

ZAP tampoco funciona

No hay indices en la base de datos

*

USE FALLIN
GO TOP
DO WHILE .not. Eof()
DELETE
SKIP 1
ENDDO
PACK
CLOSE

USE FALLIN
GO TOP
IF .not. Eof()
MsgInfo("Hay Datos","Atencion")
ENDIF
CLOSE

Saludos
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Daniel,

Has probado ese mismo código, con la misma base de datos, con FWH y Harbour ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Daniel,

Por lo visto la solución es no usar PACK, sino ZAP, si lo que deseas es eliminar todos los registros. Para eliminar sólo los borrados, tienes que crear una DBF temporal con la misma estructura, copiar los registros no borrados, eliminar la original y renombrar la temporal al nombre inicial.

Así funciona correctamente. Y es realmente curioso, porque en el emulador funciona bien sin necesidad de esto, pero en la Pocket PC real es necesario.
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply