Que fait réellement la base de données ?
Une requête avec GROUP BY ou et ORDER BY peut avoir besoin de générer le jeu de résultats complet, puis de le trier/agréger avant de renvoyer une ligne. Une requête parcourant une grande table peut trouver 50 lignes dans les deux premiers blocs, puis lire cent mille blocs supplémentaires avant d'en trouver un autre.
Je vous suggère d'ignorer le code VB et de publier le code de la base de données.