How Quick Find works by default
FileMaker 11 introduced Quick Find as a tool bar option where users
can type search criteria right into the tool bar without entering find
mode. With a few modifications, this is one of my favorite new features
Here's how it works: by default Quick Find searches every field (except
Global, Summary, and Container fields) on the current layout. There is a great overview of Quick Find's basics on FileMaker's web site: here.
This is pretty cool except for a couple of drawbacks:
- Quick Find can only search the current layout of the current table, possibly missing
records your users know are there.
- By default, all these fields that Quick Find searches get indexed
as it does so, and this can unnecessarily bloat your database. Not
to mention that the first time FileMaker builds this index can take
quite some time.
- Quick Find also searches related fields on your layout by default,
and this can be SLOW.
- Any new fields added to the layout are enabled for Quick Find by default (as long as Quick Find is enabled for that layout) meaning that you need to be careful as you add new calcs to the layout lest those get included in searches and start slowing them down.
Improving Quick Find with Custom Menus
Using Custom Menus, we can have Quick Find search the way we want, or even do this completely unrelated to searching, like opening URLs or calling a help system.
Custom Menus let you change the menu commands available in FileMaker Pro, renaming them and/or pointing them at your own scripts. Using Custom Menus, for example, you can change the "New Record" command so that it reads "New Contact" in some cases and runs your own New Contact script instead of just creating a new record. Pretty powerful stuff, and FileMaker has exposed Quick Find to manipulation by custom menus so we can do the same thing here: we can have Quick Find run one of our scripts instead of performing its default behavior.
Step by Step Instructions
We've written an article with step by step instructions for doing this: for pointing Quick Find at one of your own scripts. In our article we use scripts from fmSearchResults, the FileMaker search extension, but you can use any scripts that make sense for you:
by Step Instructions for Manipulating Quick Find with Custom Menus
If you aren't using fmSearchResults, read on, as this is one of the
coolest extensions for FileMaker Pro available.
Wouldn't it be great if Quick Find could search only the fields you
specify, whether they were on the layout or not? And what if it could
search more than just the current layout, but any table in your solution?
So that if you searched for "Apple" you'd find the company "Apple Computer"
as well as contacts for Apple Computer, invoices for Apple, and orders
you may have placed for Apples.
Results layout from mSearchResults
This is exactly what fmSearchResults does. fmSearchResults is an extension
for FileMaker Pro--a collection of FileMaker scripts you paste into
your file--developed by DevCon speaker Matt Navarre and sold by SeedCode.
It is an easy way to add FAST, Google-like searching to your databases.
You have to see it in action to believe it, so check out this short
video demonstrating what fmSearchResults can do: movie demonstrating fmSearchResults.
You can learn more about fmSearchResults, and download a demo here:
fmSearchResults downloads and pricing.
fmSearchResults is completely unlocked for you to paste into your solutions,
modify and extend.
Beyond just searching
In the article linked to above we suggest a couple uses for Quick Find
beyond just searching, such as opening URLs and calling up content from
your own help system. But I'd like to just throw another idea out there,just
to get us thinking about what Quick Find might be able to do in other
cases--on specialized data entry layouts, for example.
So we know that we can run our own scripts from Quick Find, then consider
this little script...
This may be the fastest way to enter new records that I know of: type
something into Quick Find, click enter and bang, you have a new record
and your focus is still in Quick Find, waiting for your next entry. (Replace
"SampleEvents::Summary" with some field of yours). And you could easily
teach your script to, for instance, take a Quick Find entry like "PO5676,
90" and create an entry in your inventory table that you got 90 items
in on PO 50676.
Just an idea. I hope you've found this useful.
- John Sindelar