Find Record Lookup Wizard and More

<< Click to Display Table of Contents >>

Navigation:  VBA >

Find Record Lookup Wizard and More

Here are some screen shots from the Find Record wizard in Access 2007. This sets up a find record combo box and the VBA code that goes with it.

 

find1

 

find2

 

find3

 

find4

 

find5

 

 

 

 

 

 

Built In Search

 

Here are some inbuilt options for search that are available to you when you use an Access 2007 form.

 

find7

 

 

Alternative Code: Preferred by Garry

 

This example shows you how to setup VBA code to find a record based on the users choice in a combo box.

 

Listing 2
 

Sub cboFindRecord_AfterUpdate()  

' This code can be used to replace the combo box wizard code

' Line 1 is necessary to ensure that the FindRecord Method

' is working on the correct field.

' FindRecord on Line 2 has many options. 

 

  Me![RowNumber].SetFocus

  DoCmd.FindRecord Me!cboFindRecord, acEntire  

 

' Note that you can subsequently use the docmd.FindNext method

' to find the next record with the same entry in the combo box 

 

End Sub

The DoCmd.FindRecord method searches the records currently visible to the form in their primary state and stops the cursor on the first record that matches the search criteria (selected in listing 2 cboFindRecord combo box).  FindRecord is exactly the same process as that used by the Binoculars Button on the Forms toolbar.  If you select the Find Record Toolbar button,  the Find in field choose box is a very good illustration of the different options that are available for the FindRecord method.

 

find9

 

Figure 9 Illustration of the Find Record Button and the options that are given to find a record.

 

Prior to running the FindRecord method  in the AfterUpdate event of the combo box , the important trick is to set the focus to the field that you are going to search on as follows

 

  Me![RowNumber].SetFocus

  DoCmd.FindRecord Me!cboFindRecord, acEntire  

 

The find record has many options as shown in Figure 3 ranging from Search only current field,  Search Whole Field, Start Of Field and Any Part of Field, Match Case and Search Field As Formatted. 

The little bonus here is that the next time you run the Find Button on the toolbar, it will have the settings from the last time that you issued the FindRecord method.    If you have ever been frustrated having to change Match Whole Field to Match Any Part of Field, this is a little time saver.

You also can add the DoCmd.FindNext method to continue searching on through your data set to find the next record that matches the current search criteria.