General information
Category:
Coding, syntax & commands
>My problem is:
>
>I loop through a table multiple times and mark records for deletion that meet certain conditions. How come, even though I have SET DELETED ON, the deleted records keep appearing in the continuous loop/scan.
>
>I have the following code:
>
>DO WHILE .T.
> SELECT mytable
> SCAN ...
> IF ...
> DELETE && Mark record for deletion
> ENDIF
> LOOP
> ENDSCAN
>ENDDO
>
>In the Init of the form I specify SET DELETED ON. When I browse the mytable it shows no records unless I specify SET DELETED OFF and rebrowse mytable.
>
>Any ideas? I must be forgetting something. Thanks for helping.
Deleting records does not remove them from the database and SET DELETED ON/OFF only affect a browse view. If you do any kind of unconditional loop through the database, it will still include the deleted records. As I see it, the options are: a) include a FOR NOT DELETED condition on the scan
b) pack the database after the deletes (not recommended)
c) instead of deleting the records, BLANK them
HTH
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only