Grundsätzlich benötigt Deine Abfrage zu viel Zeit, bzw. die Anzeige wird in dieser Zeitspanne nicht aktualisiert. 
Ohne konkrete Details zur Abfrage, wird es schwierig, genaue Tipps geben zu können.
Als erster Ansatz sehe ich z.B.
- Nur die Felder zurück liefern lassen, welche effektiv benötigt werden. Statt 
		                     
             Quelltext
                        Quelltext                    
           	 	  besser 
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:
 | select Feld1, Feld2 from…					 | 
		
	  
- Die Abfrage grundsätzlich optimieren (z.B. wirklich nur die Datenmenge berücksichtigen, welche benötigt wird)
- Wenn es Schleifen gibt, ggf. 
Application.ProcessMessages verwenden oder besser die Berechnung in einem separaten Thread ausführen