Pero disableControls se usa cuando se itera por todos los registros, es decir, algo como:
Código Delphi
[-]
tabla.first;
while not tabla.eof do
Para abrir una consulta no es necesario, ya que el registro activo cambiará 1 sola vez, cuando después de abrir el cursor del dataset etc, el propio Query haga un query.First para mostrar el primer registro.
En este caso DisableControls no acelerará la búsqueda. Lo único que se puede hacer es crear índices sobre los campos que estan en la claúsula where... si Dbase no lo permite... hemos pinchado.
Espero que a alguien se le ocurra una alternativa.
Saludos