I found that the best way to delete records from a readwrite cursor
bound to a grid is as follows:
select (fieldlist) from (disktable) into cursor curGridCursor readwrite
nofilter
(the above populares grid1, then you can delete records from it, do
other operations, etc.)
At the time of showing the grid back, without the deleted records, call
a delete method in your form with the following code:
** delete method
thisform.grid1.recordsource = ''
use in select('curTemp')
select * from curGridCursor into cursor curTemp where not deleted()
select curGridCursor
zap
append from dbf('curTemp')
use in select('curTemp')
with thisform.grid1
.recordsource = 'curGridCursor'
.column1.controlsource = 'curGridCursor.field1'
.column2.controlsource = 'curGridCursor.field2'
etc
endwith
In this manner, the grid never looses its settings, you do not see the
deleted record mark in the grid and you can go back to your regular
operations "unscathed" (:->).
Rafael Copquin
El 30/07/2010 6:58, [email protected] escribió:
> If you need to remove deleted records, ie issue a pack, on the readwrite
> cursor this will do the trick.
>
> SELECT * FROM CursorName WHERE NOT DELETED() INTO CURSOR CursorName
> READWRITE.
>
> Voila! Cursor has no deleted records.
>
> Caveat! If the cursor is tied to a grid, you may find that all of your
> grid settings go away. Look up "SAFE SELECT" article on UT to have a way
> get around this issue.
>
> HTH,
> Mike
>
>
>> Thanks Vince& Lew!
>>
>> I just found this line in the VFP helpfile:
>> "NOFILTER creates a cursor that can be used in subsequent queries."
>>
>> So it would seem READWRITE NOFILTER is the proper equivalent to INTO
>> TABLE..
>>
>> -Steve
>>
>>
>> At 09:56 PM 07/29/2010, you wrote:
>>
>>> Steve Ellenoff wrote:
>>>
>>>> Is there any difference between these two?
>>>>
>>>> I'm looking at some older code and I have remarks about the SELECT
>>>> SQL using INTO TABLE to avoid some VFP errors that says something
>>>> like, "Command cannot be issued on a cursor" or something to that
>>>>
>>> effect.
>>>
>>>> Would changing my code to CURSOR READWRITE work equally well as the
>>>> INTO TABLE ?
>>>>
>>> If you used tables to avoid "operation can not be performed on a
>>> cursor," I would think you could do CURSOR READWRITE, followed by USE
>>> DBF("MyCursor") ALIAS Bob, and do whatever on Bob. Just off the top of
>>> my head.
>>>
>>>
>>>
>>>
[excessive quoting removed by server]
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.