ACC2000: "ODBC Call Failed" Error When You Run a Query with an Outer Join Against Linked SQL Server Tables (300830)



The information in this article applies to:

  • Microsoft Access 2000

This article was previously published under Q300830
Moderate: Requires basic macro, coding, and interoperability skills.

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

For a Microsoft Access 2002 version of this article, see 303257.

SYMPTOMS

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)

RESOLUTION

To resolve this issue, obtain the latest Microsoft Jet 4.0 service pack update. For additional information, please see the following article in the Microsoft Knowledge Base: For additional information, 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

STATUS

Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was corrected with the latest Microsoft Jet 4.0 service pack.

MORE INFORMATION

Steps to Reproduce the Behavior

  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.OrderID
    FROM 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.OrderID
    FROM [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 Jet 4.0 service pack installed, it runs as expected.

Modification Type:MinorLast Reviewed:7/15/2004
Keywords:kbbug kberrmsg KB300830