Twoja próbka z GetFooF4 nie może być zoptymalizowana ani przez Sql Server, ani przez Access. A ponowne otwieranie tego rs przez cały czas jest bardzo nieefektywne. Zasadniczo unikaj używania w zapytaniach określonych funkcji lub kodu programu Access. Zapobiega to wysyłaniu przez program Access zapytania „tak jak jest” do serwera SQL. Zamiast tego musi pobrać pełną wiązkę danych i przetworzyć je lokalnie, co oznacza większy ruch i mniejszą prędkość.
Zobacz http://msdn.microsoft.com/en-us/library/bb188204(v=sql.90).aspx#optaccsql_topic2