Microsoft KB Archive/208507

= ACC2000: Setting the Filter Property of a Form Does Not Apply the Filter =

Article ID: 208507

Article Last Modified on 3/10/2003

-

APPLIES TO


 * Microsoft Access 2000 Standard Edition

-



This article was previously published under Q208507



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

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



SYMPTOMS
Setting the Filter property of a form does not apply the filter.



CAUSE
The Filter property holds the filter that is applied when the filtering process is started, but does not start the filtering process.



RESOLUTION
You must set the FilterOn property of the form to True to apply the filter. If you want the filter to be applied when the form opens, you can set the FilterOn property to True on the Open event of the form by using a macro or Visual Basic code, or you can apply the filter manually.

Method 1: Using a Macro
To apply a filter when the form is opened, create the following macro and set the form's OnOpen property to the following macro:

Action: SetValue

Item: FilterOn

Expression: True

Method 2: Using Visual Basic Code
To apply a filter when the form is opened, set the form's OnOpen property to the following event procedure: Private Sub Form_Open(Cancel As Integer) Me.FilterOn = True End Sub

Method 3: Applying a Filter Manually
To apply a filter after the form is opened:
 * Click Apply Filter on the Form View toolbar.

-or-
 * Click Apply Filter/Sort on the Records menu.



Steps to Reproduce Behavior
CAUTION: If you follow the steps in this example, you modify the sample database Northwind.mdb. You may want to back up the Northwind.mdb file and follow these steps on a copy of the database.

 Open the sample database Northwind.mdb. Open the Orders form. Press CTRL+G to open the Immediate window. In the Immediate window, type the following line, and then press ENTER:

Forms!Orders.Filter = "OrderID = 10926"

Note that nothing is returned. In the Immediate Window, type the following line, and then press ENTER:

Forms!Orders.FilterOn = True

Note that the filter is now applied.

<div class="references_section">