ACC2000: Base Combo Box on Parameter Query to Filter Values

ID: Q209542


The information in this article applies to:

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

Moderate: Requires basic macro, coding, and interoperability skills.


SUMMARY

This article show you how to filter values that appear in a combo box by basing the combo box on a parameter query.


MORE INFORMATION

Sometimes, you may want to limit the values that appear in a combo box. For example, you may want to show only suppliers whose names begin with a certain letter. Although Access does not allow filters on combo boxes, if you base your combo box on a parameter query, you can filter the values by using a criteria clause.

To create a combo box that displays only the suppliers that meet the criteria that you specify, follow these steps.

CAUTION: Following the steps in this example will modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and perform these steps on a copy of the database.

  1. Open the sample database Northwind.mdb.


  2. Create the following query based on the Suppliers table to use as the row source in the combo box:


  3. 
       Query: Filtered Supplier List
       -------------------------------------
       Type: Select Query
    
       Field: CompanyName
       Table: Suppliers
       Sort: Ascending
       Criteria: Like [My Criteria Box] &"*" 
  4. Create the following macro to update the combo box with new criteria:


  5. 
       MacroName: CB Test Macro
       ------------------------
       Action: Requery
       ControlName: My Combo Box 
  6. Create the following form not based on any table or query to test your controls:


  7. 
       Form: TestForm
       --------------------------------
       Caption: Test Filtered Combo Box
    
       Combo Box
       ---------------------------------
       Name: My Combo Box
       RowSourceType: Table/Query
       RowSource: Filtered Supplier List
    
       Text Box
       ---------------------------
       Name: My Criteria Box
       After Update: CB Test Macro 
  8. Open the TestForm form in Form view, and click the arrow in the combo box. Note that all suppliers appear in the list.


  9. Type a single letter in the text box (for example, the letter "E").


  10. Click the arrow in the combo box. Note that only suppliers whose names begin with the letter "E" are displayed.


  11. Type a new letter in the text box (for example, the letter "P").


  12. Click the arrow. Note that although the combo box value still shows a company starting with "E" (if you selected one), only suppliers whose names begin with the letter "P" are displayed in the list.



REFERENCES

For more information about creating combo boxes, click Microsoft Access Help on the Help menu, type "creating and editing combo boxes" in the Office Assistant or the Answer Wizard, and then click Search to view the topics returned.

For more information about creating criteria queries, click Microsoft Access Help on the Help menu, type "creating criteria queries" in the Office Assistant or the Answer Wizard, and then click Search to view the topics returned.

Additional query words: limit drop down list box ddb


Keywords          : kbusage kbdta FmsCmbo 
Version           : WINDOWS:2000
Platform          : WINDOWS 
Issue type        : kbinfo 

Last Reviewed: May 14, 1999