>>>>The problem is that I DO NOT create the local cursor by selecting data from SQL server data.
>>>
>>>Then you are stuck for creating the string and pass it to SQL Server:
>>>
>>>lcKeys = []
>>>SELECT LocalCursor
>>>SCAN
>>> lcKeys = lcKeys + TRANSFORM(KeyField)+[,]
>>>ENDSCAN
>>>TEXT TO lcSQL NOSHOW TEXTMERGE
>>> SELECT * FROM YourTable WHERE SomeField IN (<<LEFT(lcKeys,LEN(lcKeys)-1))>>
>>>ENDTEXT
>>>IF SQLEXEC(sqlHandler, lcSQL, "NewVFPCursor") < 0
>>> AERROR(laError)
>>> MessageBox(laError[1,2])
>>>ENDIF
>>>
>>
>>Yes. I am afraid that I must create the stting.
>>Thanks
>
>That's the only way I've found so far, too. Depending on your ODBC driver, there may be a limitation to the length of your command string - 8K it was in my case when I last had to do this. If you have such a long list, you may be better off creating a temp table on the server, inserting your values into it, then using it in server-side select, then dropping the table. This way you chop the problem into smaller pieces - and have multiple trips to the server, of course.
I will take into consideration yours comments.
By the way. Is it possible to use Arrays instead of strings ?
Thanks