ACC: How to Test a User-Defined Filter in Filter By Form
ID: Q154060
|
The information in this article applies to:
-
Microsoft Access versions 7.0, 97
SUMMARY
Moderate: Requires basic macro, coding, and interoperability skills.
This article shows you how to test the validity of a user-defined filter
when using the Filter By Form feature of Microsoft Access. The sample
procedure demonstrates some of the validation techniques that you can use
to ensure that the filter that you apply to the form returns records.
This article assumes that you are familiar with Visual Basic for
Applications and with creating Microsoft Access applications using the
programming tools provided with Microsoft Access. For more information
about Visual Basic for Applications, please refer to your version of the
"Building Applications with Microsoft Access" manual.
MORE INFORMATION
In this example, if the filter that you apply does not return any records,
a message appears, and you return to the Filter By Form screen to retry the
filter:
- Open the sample database Northwind.mdb.
- Open the Employees form in Design view.
- Set the OnApplyFilter property to the following event procedure:
Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As _
Integer)
Me.TimerInterval = 100
End Sub
- Set the OnTimer property to the following event procedure:
Private Sub Form_Timer()
Dim strfilter As String
Me.TimerInterval = 0
If IsNull(Me.Filter) Then Exit Sub
strfilter = Me.Filter
If Me.RecordsetClone.RecordCount = 0 Then
MsgBox "The selected filter:" & Chr(13) & _
strfilter & Chr(13) & _
"returns no records. Try a less restrictive search."
' Form, Records, Filter, Filter By Form.
DoCmd.DoMenuItem 0, 5, 0, 0, acMenuVer70
End If
End Sub
- Save and open the form in Form view.
- On the Records menu, point to Filter, and then click Filter By Form.
- In the First Name field, select Laura.
- On the Filter menu, click Apply Filter/Sort. Note that the record for
Laura Callahan is returned.
- On the Records menu, point to Filter, and then click Filter By Form.
- In the First Name field, type "Test" (without the quotation marks).
- On the Filter menu, click Apply Filter/Sort.
- Note that the following message appears, indicating the filter does
not return records:
The selected filter:
((Employees.FirstName="Test"))
returns no records. Try a less restrictive search.
NOTE: To cancel out of the Filter By Form mode, remove all criteria and
click Apply Filter/Sort on the Filter menu.
REFERENCES
For more information about OnFilter and OnApplyFilter, type "Filters and
OnApplyFilter," in the Office Assistant, click Search, and then click to
view the appropriate topic.
Additional query words:
Validate FormFilter Count Query
Keywords : kbusage
Version : WINDOWS:7.0,97
Platform : WINDOWS
Issue type : kbhowto