Ahhh, got it, and yeah, it should prove slightly faster.
WHy does your record selection have joins in it instead of having them in the GUI itself? Not sure how that might impact performance, or if it's some dbf anomaly.
There is still the issue of whether the database is doing the filtering for you, and you should consider building queries in xBase to return the data in a summary fashion, or even link the xBase files into an Access database and use an Access query to do so.
There are also different ways to connect to a dBase file, depending upon it's version, not sure why you elected not to post how you connect or the dbase version... There's a bative connectivity, and there's ODBC. The native should prove faster, however the ODBC will allow you to see what is being (or attempted to be) passed to the database as filtering.
Again, you don't speak of current execution times, or the required execution time you strive for.
-k