I recently converted an Access 2007 self-contained DB to an SQL 2k5 Linked DB. I moved the tables into an MSSQL 2k5 Standard DB and then linked the tables into Access. I used a System ODBC connection to connect Access to the SQL DB.
Everything works great for me. When another user opens the Access DB, they get "ODBC Call Failed" when the default form opens, or they try to open a datasheet view of a table, or anything else related to anything housed on the SQL server. If I refresh the linked tables w/the linked table manager for that user (meaning on their machine as them), then they're completely fine and everything works as it did for me. At this point though, if I go back and open the Access DB on my end - I'll get the Call Failed message. If I refresh my tables, then I'm ok - but now the user can't get in again.
So to sum up - only one person at one machine can use the SQL tables at a time. All other users will get "ODBC - Call Failed". The only way I found so far to fix that message is to refresh the tables on their machine, however this immediately breaks the other individual connected.
For the sake of testing, I created a domain users login and associated it to the DB user. Permissions are dbo all around. SQL 2k5 and the DB itself are configured for multiple connections, the local/remote stuff has been setup (surface area config), and all the ODBC connections test successfully w/login even when the tables won't open within Access - both via TCP and even Named Pipes. ODBC's are configured for Windows Auth and, like I mentioned, once you refresh the tables the users have all the right permissions. (Obviously they won't be DBO's once I get this fixed, ha)
Many thanks in advance for any help anyone can provide, I really appreciate all the help I find here time and time again.