Make sure to add READWRITE clause to your select statement.
See
Re: How to pack a cursor? Thread #
1335982 Message #
1336418 (the whole thread) and check the link suggested in this message as well as another link on that site.
http://www.berezniker.com/content/pages/visual-foxpro/queries-and-filtered-cursors>We have a module which creates a cursor and then returns its name. I need to further refine the selection but I'm getting an error that I'm hoping somebody here can explain.
>myCursor = thisform.get_some_date(params)
>this code works
>SELECT * from (myCursor) WHERE id IN ;
> (SELECT id FROM (myCursor) WHERE condition);
> INTO CURSOR DifferentName
>
>but this code
>SELECT * from (myCursor) WHERE id IN ;
> (SELECT id FROM (myCursor) WHERE condition);
> INTO CURSOR (myCursor)
>
>generates the Open Table dialog and then an error because it can't find the cursor (myCursor).
>
>It also works if I code it as
>SELECT id FROM (myCursor) WHERE condition INTO CURSOR curHold
>SELECT * FROM (myCursor) src;
> JOIN curHold ch ON ch.id = src.id;
> INTO CURSOR (myCursor)
>
>I'm curious as to what causes MyCursor to close when using it for the FROM, IN( ), and INTO CURSOR.
>
>Any thoughts appreciated.
If it's not broken, fix it until it is.
My Blog