PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum ADOQuery.Locate... ¿?NextLocate?¿ #61021

17/03/2010

0

Galera... tenho um ADOQuery e preciso utilizar Locate para achar sempre o "Próximo" registro. So que o Locate me aponta somente a primeira evidencia da procura... nunca o próximo, e próximos.

Observação: Não posso filtrar os dados tanto nas propriedades "Filter"/"Filtered" quanto no SELECT utilizando um WHERE. É necessário que toda a informação esteja sendo exibida. Somente seja apontado o proximo registro.

Até vi que o ADOIBQuery tem uma funcção chamada LocateNext. Utiliza os mesmos parametros, mas não tem no ADOQuery. Um colega meu me apontou uma gambiarra que não veio ao caso pelo fato de ter mais de 50.000 registros sendo exibidos. Há filtros predefinidos para diinuir a quantidade, porem é inutil a gambiarra.

A gambiarra funciona pulando cada registro e verificando se o valor é igual a busca.
with ADOQuery do
begin
  while not ADOQuery.Eof do
  begin
    if (stBusca = ADOQueryField.AsString) then //se a busca coincide
      Break; //achou
    ADOQuery.Next; //pula cada registro
  end;
end;


Obviamente com no minimo 10.000 registros o usuário vai perder a paciencia de esperar ficar pulando cada registro. RSRS.

Alguem pode me dar uma luz?
Ps.: "Ja estou googlando tem 2 dias..."

Aguardo,
pjrm1470.
Pjrm1470

Pjrm1470

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar