>Interesting approach. I still don't see how to guarantee that the TMP file returned by DBF() exists. Isn't it possible to get back a file name for the TMP file that VFP will create when the cursor becomes too large to fit in memory? If I could guarantee that the cursor would have a disk presence, then your approach would solve my problem.
Edwin,
A cursor created with CREATE CURSOR always has a disk presense. Cursors created by sql select may be filtered versions of the original table, but create cursor always creates a dbf on in the temp directory.
The question that I have is, if you are creating the cursor why do you need to change its structure, why create it with the right structure in the first place?