Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why doesn't this DELETE ALL WHILE work?
Message
 
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00823822
Message ID:
00823840
Views:
27
I believe DELETE ALL will always begin evaluation at the first record in the table, which likely doesn't match your WHERE.

Try DELETE REST WHILE instead.

>The following code does not delete from the DRAW table the records where draw.obligor == m.obligor .AND. draw.obligation == m.obligation .AND. draw.unit == m.unit. After the SEEK the record pointer is correctly on the first matching record. Then after the DELETE ALL WHILE is executed the record pointer is at the first record of the index and the matching records are not deleted.
>
>
>IF SEEK( m.obligor+m.obligation+m.unit, "DRAW", "obr_obn_un")
> SELECT draw
> DELETE ALL WHILE draw.obligor == m.obligor .AND. ;
> draw.obligation == m.obligation .AND. ;
> draw.unit == m.unit
>ENDIF
>
>Thanks
>
>Brenda
Previous
Reply
Map
View

Click here to load this message in the networking platform