One of other option is calling the BrowseDialog and programmatically executing the search. If you look in the documentation, you will see more details about the BrowseDialog. But you can set the initial search values programmatically and then force the browse to search and appear when the results when displayed to the end-user.
For example:
Me.BrowseDialog1.SearchFields.Item("MyField").InitialValue = "MyValue"Me.BrowseDialog1.ShowDialog(True)