January 23, 2008 at 10:09 am
Hi all,
I am trying to run a query from ms access which is connected to a ms sql server.
This is the query:
SELECTt_user_permissions.user_permissions_id,
t_users.user_name AS [User],
q_user_account.user_id,
t_account.abreviation AS Account,
q_user_account.account_id,
t_user_permissions.[read] AS [Read],
t_user_permissions.write AS [Write]
FROM ((q_user_account LEFT JOIN t_user_permissions
ON (q_user_account.account_id=t_user_permissions.account)
AND (q_user_account.user_id=t_user_permissions.))
INNER JOIN t_users
ON q_user_account.user_id=t_users.user_id)
INNER JOIN t_account
ON q_user_account.account_id=t_account.account_id
WHERE q_user_account.user_id In ( 1971342948, 2085812437)
And q_user_account.account_id <> 0 AND t_users.active=1
ORDER BY t_users.user_name, t_account.abreviation;
This query runs great on sql server directly. However, when I try to run this through ms access I get a message saying:
ODBC call failed. The multi-part identifier "dbo.t_account.account_id" could not be bound.
I took the "WHERE" clause out and it worked, so I don't exactly know what's happening.
Thanks
January 24, 2008 at 3:33 am
Try getting rid of the brackets:
SELECT P.user_permissions_id
    ,U.[user_name] AS [User]
    ,UA.[user_id]
    ,A.abreviation AS Account
    ,UA.account_id
    ,P.[read] AS [Read]
    ,P.write AS [Write]
FROM q_user_account UA
    JOIN t_users U
        ON UA.[user_id] = U.[user_id]
            AND U.active = 1
    JOIN t_account A
        ON UA.account_id = A.account_id
    LEFT JOIN t_user_permissions P
        ON UA.[user_id] = P.
WHERE UA.[user_id] IN (1971342948, 2085812437)
     AND UA.account_id <> 0
ORDER BY [User], Account
Viewing 2 posts - 1 through 2 (of 2 total)
You must be logged in to reply to this topic. Login to reply