Sammy
Queries run against tables. If the tables are not indexed on the fields
your query uses for joins, for selection criteria, and for sort order, the
entire table contents may need to be sent "back to Access (on the PC)" for
processing. That takes a while.
If your query uses any Access-only functions, and the data is located in a
non-Access back-end (e.g., SQL-Server), all the data needs to come back for
local processing.
If your network interface card is set to a lower speed, that will take more
time.
If there are a lot of folks trying to use the same info at the same time,
that could affect your query's performance.
If you have a large number of tables all joined together in a single query,
consider changing your approach. Start with the smallest/simplest query
joining two tables. Then create a new query joining that first query's
results to the next table. Keep "chaining" the queries until you have all
the fields. This can sometimes speed up a complex query.
Regards
Jeff Boyce
Microsoft Office/Access MVP