O.K.,
As I (currently) understand this situation, you have a VB App which does what you want it to do - and that is manipulate recordsets in SQL Server. Your VB app uses straight SQL language to manipulate the SQL Server recordsets.
There is also some Ms. Access 'App' which others use as a 'playground' to view the data in the SQL Server db.
It (the Ms. Access 'App') has 'nothing' to do with the basic VB app, however when Ms. Acceessers are using hte Ms. Access App to generate reports the Ms. Access App. BOMBS.
Have I gotten this 'right' so far? Please provide feedback/corrections.
Are you setting security flags/parameters in eithter VB or Ms. Access query statements? Can you get the specific error being returned? Is it a "Record Locked" Err, "Access Denied" Error? Other?
Kathryn is 'suggesting' that you translate the Ms. Access queries into SQL Server Stored procedures. You, correctly, note that this can get to be quite tedious (" ... a nightmare ... "

- and cite the example showing that you are dealing w/ nested queries, so you need to untangle the layers to do the translation.
Before 'jumping into the deep end' on this, you should consider the overall process requirements. Why are there 'users' on Ms. Access. Are the queries in Ms. Access the same as queries you are running from VB? If so, you may be creating a mainteneace issue for the future.
If you move (some of) the queries from Ms. Access to SQL Server, then - if these queries are to be used by the Ms. Accessers, they will not be able to see 'what' their getting - except in the results sense. Some - who want to critique/review the process will not be satisfied.
Could you generate the reports for the Ms. Accessers from within VB - and let them just use the VB App.?
Sorry for the rambling thought process, I just got started and kept on lurching around in the subject.
MichaelRed
mred@duvallgroup.com
There is never time to do it right but there is always time to do it over