Article ID: 184948 - View products that this article applies to.
This article was previously published under Q184948
This article has been archived. It is offered "as is" and will no longer be updated.
Moderate: Requires basic macro, coding, and interoperability skills.
When you run a procedure that contains the OpenReport method of the DoCmd object, and you use the WhereCondition argument to pass a string that contains more than 2000 characters, the report may not open. You may also receive one of the following error messages:
- Run-time error '2465':
Microsoft Access can't find the field <field name> referred to in your expression.
You may have misspelled the field name, or the field may have been renamed or deleted.
- Run-time error '3464':
Data type mismatch in criteria expression.
- No current record.
- Out of memory.
Note that the number of characters in the WhereCondition argument that causes this behavior may vary. For example, the problem may not occur until the length of the WhereCondition argument exceeds 2048 characters.
You can use two methods to filter a report without limitation on the size of the WHERE clause.
Method 1Instead of using the WhereCondition argument, use the FilterName argument of the OpenReport method to pass the name of a saved query. This method allows you to filter a report without limitation on the size of the WHERE clause.
Method 2Use the Open event to set the RecordSource property of the report to the SQL statement or to a saved query.
Note that the number of characters in a cell in the query grid is limited to 1,024. If the SQL statement of the query results in more than 1,000 characters in a cell in the query grid, and if you use the FilterName argument to pass the name of that query to the OpenReport method, you may see unexpected behavior.
Microsoft has confirmed this to be a problem in Microsoft Access versions 7.0 and 97.
Steps to Reproduce Problem
For more information about the OpenReport method, search the Help Index for "OpenReport method," or ask the Microsoft Access 97 Office Assistant.