Page 1 of 1

PACK no borra los registros.

PostPosted: Fri Oct 07, 2005 5:45 pm
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

PostPosted: Fri Oct 07, 2005 5:48 pm
by Antonio Linares
Daniel,

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

PostPosted: Tue Oct 18, 2005 4:27 am
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.