>Hello Cetin
>
>Many thanks for your reply, i have only one question about your suggestion:
>
>
>Select * from TESTE into Cursor NewCursor READWRITE
>*--I have make the changes
>Select * from NewCursor into TESTE nofilter
>
>
>After make the changes into the NewCursor, you run the following SELECT to replace values into Original Cursor:
>
>
>Select * from NewCursor into TESTE nofilter
>
>
>Theses new values from NewCursor with nofilter clause, replace all the content of the Original Cursor, that´s correct ?
>
>What´s happen if the Original Cursor don´t have the clause READWRITE ?
>
>Because you know, this program is not build by me, i´am a reseller.
>Also, suppose the Cursor of my program have READWRITE clause activate, how can do to refresh this one, because i cannot have access to the code, i just know the name of the original cursor "TESTE" and the same one is show to me on a Browlist.
>
>Many thanks again
>
>Best regards
>Luis Santos
Yes, it would recreate that cursor (TESTE). It doesn't matter if it were created with READWRITE or NOFILTER. It would recreate it in either case. (However, there are some special cases that you cannot directly do this - you would know if it gives an error).
If cursor TESTE is the source of a grid, then before doing this, grid's recordsource should be set to nothing temporarily ('' - emty string). If you want to do it the way you tried (and if it is readwrite in that case) then instead of delete use zap.
select Teste
zap
append from dbf('NewCursor')
With Delete all, you are not 'removing' the records, you are only marking them as deleted, and that could lead to side effects (at least the record count would be doubled. If there is a unique index, you would get violation errors etc). My first preference would be select ... into cursor Teste nofilter (or readwrite if you wish).