You are currently offline, waiting for your internet to reconnect

"ODBC Call Failed" error when you run a query with an outer join against linked SQL Server tables

Support for Office 2003 has ended

Microsoft ended support for Office 2003 on April 8, 2014. This change has affected your software updates and security options. Learn what this means for you and how to stay protected.

This article was previously published under Q303257
This article has been archived. It is offered "as is" and will no longer be updated.
Moderate: Requires basic macro, coding, and interoperability skills.

This article applies only to a Microsoft Access database (.mdb).

For a Microsoft Access 2000 version of this article, see 300830.
When you create a nested query against linked SQL Server tables and the top level query contains an outer join, you receive the following error message when you try to run the query:
ODBC--Call Failed.

[Microsoft][ODBC SQL Server Driver][SQL Server] The column prefix 'name' does not match with a table name or alias name used in the query. (#107)
This problem has been fixed in the latest edition of the Jet Service Pack. For additional information about how to obtain the latest version of the Jet 4.0 database engine, click the following article number to view the article in the Microsoft Knowledge Base:
239114 How To: Obtain the Latest Service Pack for the Microsoft Jet 4.0 Database Engine
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem has been fixed in the latest edition of the Jet Service Pack.

Steps to Reproduce the Problem

  1. Create a DSN to connect to the Northwind database on a SQL Server.
  2. Link the following tables from the Northwind database: Customers, Orders, and Order Details.
  3. Create the following query, and then save it as qryLevel1:
    SELECT dbo_Customers.CompanyName, dbo_Orders.OrderIDFROM dbo_Customers INNER JOIN dbo_Orders ON dbo_Customers.CustomerID = dbo_Orders.CustomerID;					
  4. Create the following query and then save it as qryFinal:
    SELECT [dbo_Order Details].ProductID, qryLevel1.OrderIDFROM [dbo_Order Details] LEFT JOIN qryLevel1 ON [dbo_Order Details].OrderID = qryLevel1.OrderID;					
  5. Run the qryFinal query. Note that you receive the error message that is mentioned in the "Symptoms" section of this article. When you run this same query on a computer that has the latest edition of the Jet Service Pack installed, the query runs as expected.
pra ACC2002 reviewdocid

Article ID: 303257 - Last Review: 12/06/2015 03:52:06 - Revision: 5.3

Microsoft Office Access 2003, Microsoft Access 2002 Standard Edition

  • kbnosurvey kbarchive kbbug kberrmsg kbfix KB303257