Notice: This website is an unofficial Microsoft Knowledge Base (hereinafter KB) archive and is intended to provide a reliable access to deleted content from Microsoft KB. All KB articles are owned by Microsoft Corporation. Read full disclaimer for more details.

ACC2000: Cannot Completely Remove Form Filter

View products that this article applies to.

This article was previously published under Q197220
Novice: Requires knowledge of the user interface on single-user computers.

↑ Back to the top


When you apply a filter or a sort to a form and then click Remove Filter/Sort on the Records menu, it appears that the filter or sort has been removed. However, if you check the Filter property and OrderBy property in a Visual Basic for Applications procedure or in the form's property sheet, you see that these properties contain the values that were in effect before you removed the filter or sort.

↑ Back to the top


The Apply Filter/Sort and Remove Filter/Sort commands on the Records menu change only the values of the FilterOn and OrderByOn properties. These commands do not affect the values of the forms's Filter or OrderBy properties. Selecting Remove Filter/Sort on the Records menu simply sets FilterOn and OrderbyOn to False. As a result, the form displays all of the records, because, although the filter or sort is still present, it is no longer in effect.

↑ Back to the top


Use either of the following methods to completely remove a filter or sort from a form.

Method 1

Use the form's property sheet to remove the filter or sort. To do so, follow these steps:
  1. Open the form in Design view.
  2. On the Edit menu, click Select Form.
  3. If the properties sheet is not displayed, on the View menu, click Properties.
  4. In the form's property sheet, click the Data tab.
  5. Delete the contents of the Filter box or the OrderBy box.

Method 2

Use a macro or a Visual Basic for Applications procedure to remove a filter or sort. In the following example, the filter and sort are removed during the Current event of the form.
Private Sub Form_Current()
   If Me.FilterOn = False Then
      Me.Filter = ""
      Me.OrderBy = ""
   End If
End Sub
Note that if you use this event procedure to remove a filter, the only way to activate the filter again is to re-create it. To re-create the filter, on the Records menu, point to Filter, and then click the appropriate command.

↑ Back to the top

More information

Steps to Reproduce Behavior

  1. Start Microsoft Access and open the sample database Northwind.mdb.
  2. Open the Customers form in Design view, and add a command button to the form. Set its properties as follows:
       Name: btnShowFilter
       Caption: Show Filter
  3. Set the OnClick property of the command button to the following event procedure:
    Private Sub btnShowFilter_Click()
       MsgBox Me.Filter
    End Sub
  4. On the Microsoft Visual Basic File menu, click Close and Return to Microsoft Access.
  5. On the Microsoft Access View menu, click Form View.
  6. Select the contents of the Country field, which should be Germany.
  7. On the Records menu, point to Filter, and click Filter By Selection. Note that only the records of customers located in Germany are displayed. The text to the right of the navigation buttons also indicates that the records have been filtered.
  8. Click Show Filter and note that the value of the Filter property is
       ((Customers.Country = "Germany"))
  9. On the Records menu, click Remove Filter/Sort. Note that the records of all customers are now displayed.
  10. Click Show Filter and note that the value of the Filter property is still as follows:
       ((Customers.Country = "Germany"))

↑ Back to the top


For more information, search Microsoft Access Help for "Filter property," "FilterOn property," "OrderBy property," and "OrderByOn property."

↑ Back to the top

Keywords: KB197220, kbprb

↑ Back to the top

Article Info
Article ID : 197220
Revision : 2
Created on : 7/15/2004
Published on : 7/15/2004
Exists online : False
Views : 373