Hi George,
When you use SELECT..... to cursor MyCursor you get a read-only cursor. This is part of VFP's basic design. However, you can copy that cursor and make it read/write with the code from the FAQ as this has the same result as creating a new cursor with "Create Cursor...." and appending data to it.
When you do a SQL-Select VFP does not always copy the data to a new TMP file. If it can, it simply filters the original table. So if you have a cursor from a single table with no joins or additional fields, you will get a filtered version of your original table. You can force VFP to copy the data to a new TMP file with the NOFILTER clause "SELECT ..... into cursor cMyCursor NOFILTER" or by adding a new field to the result "Select *, lNewField as .F. ..... into cursor cMyCursor" will give you a table with all the fields of the original table plus a field called lNewField which has the value .F. for all records.
Even when VFP DOES make a new TMP file for a cursor it doesn't always write it to disk - several years ago there was a long thread about this as people looked for the TMP files on their hard disks - there is no way of forcing VFP to write a cursor to disk.
However, the "USE AGAIN....." code works. Don't forget to do a "USE IN cMyCursor" to delete the original read-only cursor.
HTH
Barbara
>Trying to enter information in a table that a report will use for printing I get a message that I cannot write to the cursor. I am not even sure what a cursor is.
>
>I found the following in FAQ dated 7-9-99
>
> USE DBF("cMyCursor") IN 0 AGAIN ALIAS cAnotherCursor
>
>If this is the answer to my problem could you please explain it to me.
>
>Thank you
> George