Do you use odbc linked tables or is this a project which mssql backend ?
If you use linked tables, and have lots of rows, this can be "normal".
As I experienced (this is only my opinion, i can't prove it) sometimes access grabs all the data from sql, somehow ignoring the WHERE clause, and does a filtering on a client side.
If you use access project and stored procedures/views, it's caused by badly defined indexes. If you have full mssql server, the "Index tuning wizard" can help in the Query Analyzer to set up the right indexes.