ACC: Filtering Form with OpenForm Action Causes "#Name?" Error

Last reviewed: May 28, 1997
Article ID: Q102670
The information in this article applies to:
  • Microsoft Access versions 1.0, 1.1, 2.0

SYMPTOMS

Novice: Requires knowledge of the user interface on single-user computers.

A form that is opened with an OpenForm action that specifies a query for the Filter Name argument, may display a "#Name?" error message for some controls.

CAUSE

When a query is specified as the filter for the OpenForm action, the form is bound to the fields in the query. If the form contains controls bound to fields that are not included in the query, those controls display the "#Name?" error message.

RESOLUTION

Switch to Design view and either change the query so that it contains all the fields used in the form or clear the Restrict Available Fields check box.

MORE INFORMATION

A similar behavior may occur with a report that is filtered by a query that does not contain all the same fields. The report gives parameter prompts for all fields not included in the query.

Steps to Reproduce Behavior

  1. In the sample database NWIND.MDB, create a query called Filter Customers By Letter A based on the Customers table. Set the properties as follows:

          Query: Filter Customers By Letter A
          -----------------------------------
          Type: Select Query
    

          Field: Customer ID
    
             Table: Customers
             Criteria: Like "a*"
    
    

  2. On the View menu, click properties to verify that the Output All Fields property is set to No (or Restrict Available Fields check box in version 1.x is checked).

  3. Create the following macro and call it Open Filtered Customers:

          Macro Name                Action
          ----------------------------------
          Open Filtered Customers   OpenForm
    
          Open Filtered Customers Actions
          -------------------------------
          OpenForm
             Form Name: Customers
             Filter Name: Filter Customers By Letter A
    
    

  4. Run the macro. Note that all the controls in the Customer form, except for [Customer ID], display the "#Name?" error message.

Workaround

  1. Open the Filter Customers By Letter A query in Design view.

  2. On the View menu, click Properties. Set the Output All Fields property to Yes (or clear the Restrict Available Fields check box in version 1.x).

  3. Choose OK and save the query. Note that the form now displays the correct values for all controls.

STATUS

This behavior no longer occurs in Microsoft Access version 7.0.

REFERENCES

Microsoft Access "User's Guide," versions 1.0 and 1.1, pages 532-534, 558


Additional query words: poundname
Keywords : kbusage McrArg
Version : 1.0 1.1 2.0
Platform : WINDOWS
Hardware : X86
Issue type : kbprb
Resolution Type : kbfix


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: May 28, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.