• Depends what you're trying to achieve Bob.

    A pass through query will just literally pass the query string to the DB, execute it, then return the results. Lord knows what Access attempts to do architecturally if you do local queries on linked tables, maybe someone else on the forum knows the answer.

    There's nothing intrinsically wrong with copying a whole table or a chunk of data to the local client when you need to do further data manipulations on it - indeed it might save server resources when you have some serious number crunching/transformations to do on the data that is being returned. Having said that you should bear in mind that the SQL server is going to be a lot better at that number crunching than Access and the timing of these queries may well be important in terms of when the business needs the server performance (I run some jobs against stored procedures at night to get around this).

    I just take everything on a case by case basis, if a query is putting a load on the server then see what you can do to calm things down - either by cutting the data you're bringing over (nothing worse than SELECT * when you only need a few columns), or moving your basic queries into views on the server. If server performance is more important than client performance then you're probably better off taking the data in a relatively raw form and crunching it on the client.

    It sounds to me like you're not the DBA at your company, and DBAs can be pretty prescriptive where their servers are concerned, you really need to make a strong business case for running queries against the server. Personally I would be OK letting people have access to Views or Stored Procedures I had created myself if they approached me and told me what they wanted (so in your case each View would be your basic three table joins which I'd allow you to download into Access to work on further) but I would not allow ad hoc connections to the server, I'd lose control of database performance and security, and I am responsible for that.