>SOmehow I think the Cursoradapter should be able to work properly. I don't think I'm asking it to do anything to out of the ordinary..?
>
>>>>Can you post your CA definition?
>>>
>>>For the cursoradapter in the dataenvironment, the nondefault properties are..
>>>
>>>Alias 'cursoradapter1'
>>>AllowDelete = .F. (Made no difference if AllowWhateverOperation was .T. or .F.)
>>>AllowInsert = .F.
>>>AllowUpdate = .f.
>>>Cursorschema = 'CPARTNO C(18), CPARTDESCRIPTION C(52), IDPARTS I'
>>>datasource = oapplication.odbchandle
>>>datasourcetype = ODBC (I've tried ADO too - same problem)
>>>FetchAsNeeded = .T.
>>>FetchMemo = .F.
>>>KeyfieldList = 'idParts' (I've tried with and without this - since no updates then it should not be needed)
>>>Name = cursoradapter1
>>>SelectCmd = 'select cpartno,cpartdescription,idparts from base.parts order by cpartno'
>>>SendUpdates = .f.
>>>
>>>AutoOpen and Init methods are standard VFP cursoradapter code from the builder.
>>>
>>>I've set FetchSize to various sizes and the cursoradapter seems to fetch that many records when it needs them.
>>
>>Review
http://www.code-magazine.com/article.aspx?quickid=0703041&page=2 may be it would work better for the job.
Have you tried any "manual intervention", such as setting DataSource = "" before trying to close your form?
Regards. Al
"Violence is the last refuge of the incompetent." -- Isaac Asimov
"Never let your sense of morals prevent you from doing what is right." -- Isaac Asimov
Neither a despot, nor a doormat, be
Every app wants to be a database app when it grows up