>>certifique-se de que o resultado da consulta não está ultrapassando o limite para um array.
>
>Bom, ultrapassando, pelo jeito está, né...
>
>Mas a questão é como resolver, talves alterar o limite do array, penso em algo como:
>
>SET MAXARRAYVAR TO 30000
>
>
>hummm, MAXARRAYVAR... sentiu firmeza ?!?!?...
>
>OBS. Estou evitando jogar o resultado num cursor porque creio que o ARRAY, por ser RAM, seja mais rápido.
O número máximo de elementos que um array pode ter é 65000 - no seu caso, como o número de colunas de array produzido pelo select é de 3, o máximo de linhas será o valor que está a encontrar, ou seja, 21.666 (21.667*3=65.001).
Não pode entregar ao VFP a optimização? Se tiver espaço em memória para suportar o cursor ele vai tentar deixá-lo aí em vez de o passar para disco.
----------------------------------
António Tavares Lopes