ACC2000: Microsoft Jet Does Not Pass WHERE Clause to ODBC Data Source (282604)
The information in this article applies to:
- Microsoft Access 2000 Service Release 1 (SR-1)
- Microsoft Data Access Components 2.6
This article was previously published under Q282604 Advanced: Requires expert coding, interoperability, and multiuser skills.
This article applies only to a Microsoft Access database (.mdb).
SYMPTOMS
When you use Access 2000 Service Release 1 (SR-1) with Microsoft Jet 4.0 Service Pack 5 (SP5) to query tables linked from two separate databases on the same server, you may find that Jet does not pass the WHERE clause parameters to the ODBC data source when both of the following are true:
- The query creates a join between the two tables.
- The query contains a WHERE clause that uses both the
OR and the AND operators.
You may find that query performance is extremely slow when you query large sets of data under these conditions. Saving the password when you link the tables may or may not affect performance. This only affects Msjet40.dll version 4.0.4431.x
CAUSE
Jet does not send the WHERE clause for one or for both queried tables. This causes the server to return all rows to the client.
RESOLUTION
To resolve this problem, install the latest Jet 4.0 service pack.
For additional information about how to obtain and how to install the latest Jet 4.0 service pack, 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
STATUSMicrosoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first fixed in Jet 4.0 Service Pack 6 (SP6).
Modification Type: | Minor | Last Reviewed: | 1/26/2005 |
---|
Keywords: | kbbug kbfix KB282604 kbAudDeveloper |
---|
|