FileMaker 17 – grouped objects

Objects on a FileMaker layout can be grouped to make it easier to move them around and to maintain relative positions of components.

Group and Ungroup

To group a set of objects, select multiple objects and choose Arrange > Group (Cmd/Ctrl-R). The group can be selected with a single click.

To ungroup, select the group and choose Arrange > Ungroup (Cmd/Ctrl-Shift-R).

grouped objects

Objects Tab

In FileMaker Pro 17, the Objects tab (formerly the Layout Objects floating panel in FileMaker Pro 16) displays the group with a disclosure triangle to show items in the group.

objects tab group

As with all objects, the group can be given a name (rather than the default “Group”). Do this by right-clicking the name and choosing Specify Object Name.

Items in a group may be dragged up and down (changing their z-order or stacking order). But objects cannot be dragged in or out of a group.

Working with objects in a group

Then

In FileMaker Pro 16, it is possible to select an object inside a group on the Layout Objects panel, and then:

  • apply formatting via the Appearance tab of the Inspector,
  • apply a style from the Styles tab, or
  • change settings on the Data tab (field, behaviour, data formatting)

Multiple objects within the group can be selected in the Layout Objects panel using Cmd/Ctrl-click.

This was a big step forward in FileMaker 16 with the new Layout Objects panel. In previous versions, there was no access to objects in a group – the group had to be ungrouped, edited and then re-grouped.

Now

In FileMaker Pro 17, individual object access has been made easier. While you can still select an object through the Objects tab, you can also directly select an object in a group. Simply click to select the group, and then click the object. There is a dashed line to indicate the group. Multiple objects in the group can be selected.

selected object in group

Also in FileMaker Pro 17, when an object in a group is selected, it can be both resized and repositioned. If it is moved outside of the existing dashed line bounds, the group is enlarged. Effectively, options on the Position tab of the Inspector have been provided for selected group objects.

These new features in FileMaker 17 makes it much easier and quicker to work with objects in a group. No more Ungroup – Edit – Group.

And a subtle change…

When selecting objects in the Objects tab in FileMaker Pro 17, there is a light grey highlight as you hover over the object, and then a dark grey highlight when you click to select it.

objects tab hover select

If you select an object directly on the layout, it is selected in the Objects tab with a light grey gradient fill.

objects tab direct select

Why is this important? It probably isn’t  🙂 Back to work now.

 

FileMaker 17 – products and licensing

With the release of the FileMaker 17 Platform, FileMaker Inc., has taken the opportunity to simplify the licensing model and the products on offer.

Products

The FileMaker Platform consists of the following products:

  • FileMaker Server
  • FileMaker Pro Advanced
  • FileMaker Go
  • FileMaker WebDirect
  • FileMaker Data API

Each licensing model provides all products. There are differences between the models in how many servers are included, the client connections available, and the data transfer limits via the API.

Licensing models

There are three licensing models:

  • User license (UL)
  • Concurrent license (CL)
  • Site license (SL)

For convenience, we will refer to these by the two letter acronyms above.

Each model can be purchased on an annual or perpetual basis. Annual licensing is most common and convenient – just pay the renewal each year or uninstall. Perpetual licensing requires renewal each year – if you do not renew, you can use your current version in perpetuity but no upgrades are available.

What products are included?

  • UL includes all clients for all users and three (3) server installs.
  • CL includes all clients for all connections and one (1) server install.
  • SL includes all clients for all seats and one server install per seat.

Starting points and usage

Both UL and CL start from five (5) licenses. And you can add any number of licenses, one at a time. There are price breaks (less per license) when the total licenses reaches 10, 25, 50 or 100. SL starts from 25 seats.

  • UL: a user is defined as a unique person who will access FileMaker Solutions using any FileMaker client
  • CL: a concurrent connection allows access to FileMaker Solutions using any FileMaker client
  • SL: a seat is any staff member of the licensing organisation, whether they use FileMaker Solutions or not.

For all licensing, FileMaker Pro Advanced can only be provided to users within the licensing organisation.

For CL and SL (but not UL), anonymous users (e.g. customers) can access hosted FileMaker Solutions using FileMaker Go and FileMaker WebDirect.

For annual UL and CL, one server can be installed on FileMaker Cloud (AWS). For annual SL, any number of servers can be used on FileMaker Cloud.

For outbound API calls, all models provide 24GB of data transfer per year per user/concurrency/seat (inbound API calls are not limited). This data is conveniently pooled for the license. So for the minimum 5 user UL or CL, there is 120GB (24x5GB) available per year. Additional data can be purchased.

One FileMaker Pro client

FileMaker Pro is the desktop client that runs on macOS and Windows. In FileMaker 16, there were three FileMaker Pro clients:

  • FileMaker Pro
  • FileMaker Pro Advanced
  • FileMaker Pro for User Connections

In the FileMaker 17 lineup, there is now just one:

  • FileMaker Pro Advanced

Accessing advanced features

The advanced features include tools such as the Script Debugger and Data Viewer, and access to manage Custom Functions and Custom Menus.

When FileMaker Pro Advanced is installed, no advanced features are available. These features are simply turned on by checking the checkbox for Use advanced tools within the Preferences (General > Application) and then restarting the application.

FMPA17 Prefs

Purchasing

As shown above, FileMaker Pro Advanced is included in every licensing model. It can also be purchased as individual licenses through the FileMaker Store. Upgrades are available from versions 14 (limited time), 15 or 16 of FileMaker Pro or FileMaker Pro Advanced.

User connections

If FileMaker Pro Advanced is installed using an individual, UL or SL key, accessing a hosted FileMaker Solution will not use a concurrent connection. If it is installed using a CL key, it will require and use a concurrent connection on the server.

Simple?

Believe it or not, this licensing is simpler than it used to be. There are some other licensing options that are only available through FBA developers or directly through the FileMaker sales team. And there are some complications if you start mixing UL and CL.

If you have any questions, uLearnIT is happy to discuss your situation or you can call your local FileMaker sales team.

FileMaker 17 – Layout mode

A major interface change for FileMaker Pro 17 is in Layout mode. You now have docked Inspector, Field Picker and Objects panels.

v16 HUDs

In previous versions of FileMaker Pro, these were HUDs (heads-up displays) that floated over the top of your layouts. They could be moved around to suit your development process.

Layout Mode 16
FileMaker Pro 16 with floating HUDs

v1Docked Panels

In FileMaker Pro 17, these are now docked panels. The Fields and Objects are on the left; the Inspector is on the right.

Layout Mode 17
FileMaker Pro 17 with docked panels

Keyboard Shortcuts

The keyboard shortcuts to view/activate and hide the docked panels are as follows:

  • Inspector – Cmd/Ctrl I
  • Fields – Cmd/Ctrl K
  • Objects – Cmd-Option T or Ctrl-Alt-T

In addition, there are shortcuts for selecting the tabs of the Inspector:

  • Position – Cmd/Ctrl-1
  • Styles – Cmd/Ctrl-2
  • Appearance – Cmd/Ctrl-3
  • Data – Cmd/Ctrl-4

An Inspector option

If you still want the floating Inspector, it is available. You can close the docked Inspector panel (or leave it open as a second option). And then get a new Inspector from View > Inspectors > New Inspector.

Addition to the Field Panel

The new Field panel has an addition – the ability to set the Control Style for a dragged field. This is found at the bottom in the Drag Preferences.

Field Panel Drag Prefs

So you can specify say a Checkbox Set, and drag a field onto the layout. Then you would need to select the value list to be used from the Data tab of the Inspector.

FileMaker 17 – variable inputs

Another great new feature in FileMaker Pro 17 is a new way to set variables – through a custom dialog.

Show Custom Dialog

This script step allows a script to interact with the user, providing feedback and allowing input. The script step options provide two tabs – General and Input Fields:

SCD general

SCD inout

When input fields are used, these are presented on the custom dialog for user input. The field can have a label (static or by calculation) and can be presented using password bullets to obscure input.

SCD passcode

Before FileMaker 17

The problem before FileMaker 17 was that the input from these custom dialogs was limited to a field. Depending on the use case, FileMaker developers create global fields for the purpose of storing custom dialog input. While these fields could be in any table, they still needed to exist in the schema and be managed.

When clicking the Specify… button for an input field in FileMaker Pro 16, the only option is for a field:

SCD specify field 16

Example

Here is an example of a script in FileMaker Pro 16 that allows a user to reset their account password.

Reset account password 16

It presents a custom dialog (line 4):

Reset account password dialog

The user input is stored in repetitions of a global field (password_g). These are checked to ensure that the passwords match exactly (line 8). If so, then the account password is reset using one of the global field values (line 9).

Importantly, all global field values are cleared at the end of the script (lines 20-22). These will be cleared at the end of the user session but, for a number of reasons, they should be explicitly managed in the script.

New in FileMaker 17

The same Specify… button in FileMaker Pro 17 provides the choice to specify a field or a variable.

SCD specify target 17

Notice the subtle difference in the title – Specify Target. Note also that FileMaker has added the ability to search for a field if you are using that.

Now there is the ability to enter a variable name (either local $ or global $$) that will be used as the target for user input.

The Repetition applies to either the field or the variable that you specify. However, if you want to use a repetition for a field, it must be defined in the field options.

limitation

This is minor – the variable name must be hard-coded. There is no option to calculate the variable name through a Specify button. This is the same as when a variable is set using Set Variable. In both cases, it would be useful to be able to set a calculation to specify the name of the variable to use.

Example

Here is a modified example of the script for FileMaker Pro 17 that allows a user to reset their account password. The custom dialog presented is exactly the same.

Reset account password 17

Note that variables rather than fields are being used in lines 2, 4 and 9. And there is no need to clear the variables at the end of the script – local variables are used that disappear when the script ends.

Backwards compatibility?

Obviously, there is no backwards compatibility for this FileMaker 17 feature. If you open the above script in FileMaker Pro 16, you will see <Table Missing> in the Show Custom Dialog step (line 4).

So what?

Why is this a great feature for FileMaker Pro 17? It allows the FileMaker developer to remove global fields from the schema since custom dialog input can be handled through variables. And, unlike global fields, local variables are self-managing – they disappear at the end of the script in which they are used.

New Feature Request

While this is a great new feature, we might need another one – a layout object that can be used to set a variable. This would probably look like a standard edit box (field) and provide all the same options for presentation and input like using value lists.

The reasoning here is that FileMaker developers need more flexibility with dialogs than is provided by Show Custom Dialog. Developers are using card windows for user dialogs. This allows them to specify dialog size and position and to use any number of layout objects in the dialog layout. However, this currently means that values can only be set in (global) fields. A layout object that sets a variable would be great!

If you like this idea, you can go to the FileMaker Community and vote for it:

Layout field input into variable

Searching FileMaker – time and timestamp

In our last post of this series, we looked at how number and date searches work with the FileMaker search engine. In this post, we will consider searches in fields defined as time or timestamp.

Time fields

A time field can store a time of day or a duration. Behind the scenes, times are treated as the number of seconds since 0:00:00. This greatly aids their use in calculations such as adding a period to a start time, or determining the difference between two times.

Time Maths

When subtracting one time from another, the result will be given in seconds. To convert this to minutes, use calculations like result / 60 or Div ( result; 60 ).

Time data is entered with a separator character between the hours, minutes and seconds. This is usually a semi-colon (:) but is dependent on the file system formats.

If you enter a simple number into a time field, FileMaker Pro will see that as a number of hours e.g. 3 is 3 hours or 3am, 16 is 16 hours or 4pm. If you need to enter one minute, you should enter 0:01 (or 0:1).

INTERESTING FACT

If you enter an invalid number of minutes or seconds (over 59), FileMaker Pro will accept the entry and display the time correctly. For example, if you enter 1:99:99, FileMaker Pro will display 2:40:39. The entry for 99 seconds has become 1 minute 39 sec; the entry for 99 minutes has become 1 hour 39 minutes. All totalled with the 1 hour gives 2 hours, 40 minutes, 39 seconds.

Time fields can be formatted to display the time entered in a wide range of formats.

Time searches

When searching time fields, simple numbers are considered to be a number of hours. FileMaker Pro constructs a wildcard search. If you enter 4 in a time field of a find request, FileMaker Pro will search for 4:*:*. So the search will return all records with a time of 4 hours and any number of minutes. You can also search for times within a specific hour of the day such as 5pm – this finds all times between 5:00:00pm and 5:59:59.999999pm.

Time fields will accept range searches using the ellipsis (…). So you could search for all records between 4:15 and 4:30 using 4:15…4:30.

Time fields also accept the comparison operators:  >  <  ≥  ≤  as would be expected.

A time search will not accept # for a missing digit (e.g. 4:5#).

Timestamp fields

Timestamp fields store a date and a time combined. When entering data, you must enter both a valid date and a valid time (in that order). Timestamps are usually populated with auto-entered values (field options or a script step to Set Field).

If used in calculations, FileMaker Pro converts the timestamp to the number of seconds since 01/01/0001 0:00:00. As for times, simple maths can be performed on timestamps. Just remember to convert results from seconds into something more useful.

Timestamp fields act like a combination of a date and a time field.

Timestamp searches

Timestamps can be searched for dates, times or both. All the rules for date and time fields apply.

NEXT UP

In the next post, we will look at searches in calculation and summary fields.

FileMaker 17 – attach more

With the release of FileMaker Pro 17, a long-time feature request has been delivered – the ability to attach multiple files to an email.

Send Email

The Send Mail script step is used to compose and send an email from a FileMaker solution.

Send Mail 17

The change in FileMaker 17 is the Attach Files button in the lower left. Clicking this button allows multiple file paths to be set:

Send Mail path 17

Developers will usually specify a variable to define the file path. In past versions, this would have been a single path ending in a file name. In FileMaker 17, the variable can be a list of file paths, one for each attachment.

Attaching Multiple files to Email

So a script to send invoices for a current customer record looks like:

Go to Related Record [“Invoices”; only related]
If [ Get ( LastError ) = 0 ]
  Go to Record/Request/Page[First]
  Loop
    Go to Related Record [ “Invoice Data”; 
                          only related; new window]
    Set Variable [$FILE; Value: calc below]
    Save Records as PDF [ File Name: “$FILE”]
    Set Variable [$LIST; Value:List($LIST; $FILE)]
    Close Window [Current Window]
    Go to Record/Request/Page[Next;Exit after last]
  End Loop
Send Mail [ E-mail Client; Attachments: “$LIST”]
End If

The $FILE variable is set with a calculation like:

Let ([ path = Get ( TemporaryPath ) ; 
       file = "Inv_" & Invoices::Invoice ID & ".pdf"
     ];
       path & file
    )

This value is used as the file name for Save Records as PDF. Each PDF will have a unique name and will be saved in the temporary path.

The $LIST variable is used to assemble all the file paths for the attachments. It is ultimately used in the Send Mail step. It appends each new file to a list for each loop using:

List ( $LIST; $FILE )

Backwards Compatibility

As with all new features, it is important to account for users who may not be running version 17 clients. Either the file needs to lock those users out, or the script needs to detect the client version and have  modified action.

Searching FileMaker – numbers and dates

In our last post of this series, we looked at how text searches work with the FileMaker search engine. In this post, we will consider searches in fields defined as number or date.

Number fields

Fields defined to store number data behave differently to standard text fields. The first difference is in how the data is indexed. Indexing is used for searching data.

Imagine you enter the values 1, 1A, A1 and A into a number field across four records, and the same into a text field. The field index for each is as follows:

number vs field index

In the text field, each value is different. In the number field, the first three values are indexed as 1; the last value (A) is seen as an invalid value (?).

If you search in each field for A, the text field will return two records (A1 and A) while the number field will return one record (A).

Sorting by the number field results in the order 1, 1A, A1, A; while the text field returns 1, 1A, A, A1.

Although it is possible to enter non-numeric characters into a number field, it is not recommended. A field validation exists to enforce a strict data type for number fields being Numeric only.

Number searches

In the following examples, we will use a set of records numbered 1 to 1000.

When searching for numbers, standard searches return only the complete number. A search for 20 would return just one record. The same search in a text field would return 11 records – 20, 201, 202, … 208, 209.

To search for a range of values in a number field, use the ellipsis () operator. A search for 110…119 will return 10 records. The search is inclusive – all values from 110 through to 119. If they existed, this range search result would include decimal values such as 112.34 but not 119.01.

Interesting fact

The ellipsis can be entered as the actual symbol (on macOS option-; or selected from the operators list in Find mode). Or it can be entered as three periods. And FTW – it can also be entered as two periods! Still works.

To search for all values above or below a certain value, use the comparison operators:  >  <  ≥  ≤  For our sample records above, a search for ≥900 will return 101 records. Again, these symbols can be selected from the operators list in Find mode or they can be typed on macOS – option-> will give ≥.

Interesting fact

The ≤ and ≥ symbols can be typed as two characters as they are said. So type >= for “greater than or equal to”; type <= for “less than or equal to”.

FileMaker does permit wildcards in number searches. One wildcard specific to numbers is # which represents one missing digit. So a search for 9#0 returns 10 records – 900, 910, 920, … 980, 990. A search for ## will find all two digit numbers.

The asterisk * is also supported as for text fields. A search for 90* will return 11 records – 90, 900, 901, … 908, 909. A search for *99 returns 10 records – 99, 199, 299, … 899, 999. And *99* returns 19 records (try it out).

Date fields

In the following examples, we will use a set of 1000 records containing all the dates from 1/1/2016 through 26/9/2018.

Dates stored in date fields are handled as integers (whole numbers) representing the number of days since the beginning of FileMaker time. The beginning of FileMaker time is 1 January 0001. So the date, 2/5/2018 (2 May 2018) converts to 736816 (days since the start of time).

Doomsday

FileMaker also defines the end of time – it is 31/12/4000. Beware!

Therefore, when sorting by a date field, the records are effectively sorted in numerical order which will match chronological order.

A standard date search requires a valid date. An invalid date results in a search error:

invalid date search

As for number fields, searches in date fields can use the range and comparison operators. A search for 1/1/2017…31/3/2017 will return 90 records from January, February and March of 2017. A search for ≤31/12/2016 will return 366 records (2016 was a leap year).

FileMaker permits the use of the asterisk * wildcard in date searches. A search for */3/2017 will return 31 records (all the days in March 2017). A search for */3/* will return 93 records (all days in any March or any year). A search for */*/2017 will return 365 records (all days in 2017).

Rather than using the wildcard, you can also use a short version of the date for the search. For the above examples, you could search for either 3/2017 or 2017. If you search for 3, this will return all records in March in the current year.

Short dates can also be used in range searches. For example, 1/2017…3/2017 find all dates Jan-Mar 2017; and 2017…2018 finds all dates in 2017 and 2018.

How does it do it?

To understand how these abbreviated date searches are working, do the search and then Cmd/Ctrl-R (Records > Modify Last Find). This will show how a valid date has been constructed using wildcards. Try it out!

FileMaker will also allow searches by day of the week. Use either the short (Wed) or long (Wednesday) form of the day. A search for Wed will find all dates that fall on a Wednesday. And the search can be further narrowed by adding other criteria. Try these:

  • wed 2017 – all the Wednesdays in 2017
  • wed 3/2017 – all the Wednesdays in March 2017
  • wed 3…4/2017 – all the Wednesdays in March and April 2017
  • wed */3/* – all the Wednesdays in any March

And finally, the day search supports range searches such as mon…fri 3/2017 to find all weekdays in March 2017.

Searching for records containing today’s date (as defined by the client operating system) is easy with the // operator (two forward slashes).

next Up

In the next post, we will look at searches in other field types not covered so far.

Get Started with FileMaker Pro now offered online

uLearnIT is pleased to offer the Get Started with FileMaker Pro course online. Now you can attend FileMaker training from the comfort of your office desk.

This course is presented using a webinar platform. Unlike a video recording or traditional webinar, sessions are designed to be interactive, allowing you to ask questions, take quizzes and to participate in discussions.

The course consists of seven sessions, each two hours long. Each session is structured in a similar way beginning with an introduction and covering any questions from the last session. This is followed by content presentation for the session and demonstration of concepts and techniques. Your instructor will introduce the exercises for you to complete between sessions. Each session will end with questions from the group.

When does it start?

Session 1 is free and is scheduled four times on Monday, 14 May and Monday, 21 May 2018.

The rest of the schedule, sessions 2-7, start from Monday 4 June. All these sessions are scheduled at 10am and 2pm on Mondays and Tuesdays.

Find out more

Get all the details about the online course including the session schedule, content for each session and cost to enrol here.

Sign up now

Sign up for either the free session or for the complete course here.

Searching FileMaker – text search operators

In our first post of this series, we looked at the FileMaker search engine – how to access it, and how it operates. In this post, we will start looking at specific searches as they apply to different data types for which you might search.

The article got so big that we had to split it up! We will consider searches in text fields to start.

Data types

When creating fields in a table, you specify a name and a data type. FileMaker provides several data types for fields:

  • text
  • number
  • date
  • time
  • timestamp
  • container

In addition, calculation fields are defined with a data type for the result. If a calculation field is searched, it behaves in much the same way as a standard field for the specified data type.

Searching in text fields

Text fields are the most common field type in databases. In FileMaker solutions, text is the default data type allowing a ridiculous amount of data to be stored in one field in one record. Text fields can store any characters –alpha, numeric, symbols.

The default search in a text field is “words beginning with”. So a search in an address field for st will find all records containing any words beginning with “st” – St Agnes Road, Storey Lane, Franklin Street, etc. Note that the word can be anywhere in the field – it is not “data begins with”.

What is a word?

A word is a string of characters delimited by a word separator. What is considered to be a word separator? A FileMaker Knowledgebase article on the subject notes the following as recognised word separators:

space ! @ # $ % ^ & * ( ) _ + = 
{ } [ ] | \ : ; " ' < > ? / * ~ -

The article notes exceptions when characters like the hyphen, colon, forward slash, a single quote and a period (.) are not treated as separators.

In most cases, text field searches are not case sensitive. An exception is where the default language of the field is set to Unicode (Field Options – Storage). A search for dar will return the same results as a search for DAR or a search for Dar. So be lazy in your searches and don’t bother with the uppercase.

Search operators

FileMaker provides a number of operators (symbols) to perform searches other than “words beginning with”.

The first to consider is the asterisk (*). This represents zero or more characters – any characters. Thus, a wide-ranging search is performed by wrapping a string in asterisks like *dar*. This will search for records where the field contains the string dar anywhere in a word – start, middle or end.

Search far and wide

Perhaps the most wide-ranging search you could perform is *d*a*d*. This would find any record where the field contains dad in that order but anywhere in a word in the field. So it would find dad, David, dreadful, underhanded, and advantaged. But not addition or biddable.

Find ‘something’

The asterisk is very useful when searching for records that have something (anything) in a field. For example, if you wanted to find all contacts with an email address, just type * into the email field and perform the find.

The second operator is the at symbol (@). This represents exactly one character. So a search for s@mon will find Simon and Symon, but not Salmon or Simone. Note that when the @ symbol is used, the search is no longer for “words beginning with”.

The third operator is equals (=). This searches for an exact word. So a search for =ann will find Ann but not Anne or Anna or Annabelle or Annette.

Find nothing

The equals sign is very useful when searching for records with empty fields. For example, enter = in the company field to find all contacts for whom no company is recorded.

Two words, Any order

To search for two exact words in any order, precede both words with =. So a search for =hotel =grand will find both the Grand Hotel and Hotel Grand (but not Grandfather Hotel).

The fourth operator is two equals symbols (==). This searches for exact content in the entire field. So a search for ==Melbourne would find records with only the word Melbourne in the field and not Melbourne City or Melbourne CBD.

The fifth operator is the double quotes (“”). This searches for a phrase beginning at the start of a word. So a search for “little street” will find all records with that exact string somewhere in the address field but will not find one with Little Bourke Street. A search for Little Street (without the quotes) would find that record since it is searching for any record containing those two words in any order.

Combine with * to extend

If you add in the asterisk and search for *”e street”, it would find all streets with names ending in e.  In other words, the search starts from anywhere in the field, not just the start of a word.

The sixth operator is the exclamation mark (!). This searches for duplicates of the entire field. So a search for ! would find two records with Swanston Street but would not consider Cnr of Bourke and Swanston Street to be a duplicate.

Search for an operator as a character

So what if you want to search for one of the recognised operators in a field? Maybe you are looking for records containing * or @ or !. The backslash character (\) is used to ‘escape’ the following character in a search.

For example, if you search for info@ulearnit.com.au, there would be no records returned even if there was one with that email address. The solution is to escape the @ symbol like this: info\@ulearnit.com.au.

If you need to search for a recognised operator, you can also use quotes. For example, search for “@” or “!”.

next Up

In the next post, we will look at number and date searches.

Searching FileMaker – the search engine

This is the first in a series of posts about searching in a FileMaker solution. FileMaker provides a built-in search engine. Like other search engines, there are rules for how it works and various codes for specific types of searches. As a FileMaker user, it is important to understand this to get the most out of your experience with any FileMaker solution.

Search Engine

A search engine is a tool that provides an interface where a user can construct a ‘request’ and perform a search.

Perhaps the best known and most used search engine is Google. The initial interface is amazingly simple – enter a word or words relating to what you want to know about then press return. Google returns a list of matching web pages with links to access each. The web pages are sorted by ‘relevance’ according to the Google search engine.

Google search

The beauty of this simple Google search is that the details of how the search is done are hidden from the user. Google also provides an Advanced Search page where the user has more control over the search. Even in the simple search bar, there are syntaxes available to limit searches.

In the end, most people using Google just type in a few words, press return and see what they get.

FileMaker Search Engine

Each FileMaker client has a search engine built-in. So whether you are using FileMaker Pro on a desktop, FileMaker Go on iOS, or FileMaker WebDirect in a browser, you can search.

When you search in a FileMaker solution, the search returns records that match your request. The records returned are known as a found set. We looked at the found set in detail in The A-Z of FileMaker: F.

The found set is displayed in the status toolbar as shown below.

found set
Found set of 11 records out of a total of 478.

Click the Show All button to return to display of the entire table.

Find Mode

A FileMaker client provides up to four working modes – Browse, Find, Layout and Preview. Most of the time, you work in Browse mode where you can view, create, edit and delete data. Find mode is where you have access to the search engine.

Switching to Find mode is easy – use the View menu command or the keyboard shortcut (Cmd/Ctrl-F).  When working in Find mode, the menus and the status toolbar change. 

Browse mode menus and status toolbar
Find mode menus
Find mode menus and status toolbar

In Find mode, you work with Find Requests rather than Records. The simplest search is a single request containing data in a single field.

Find request
Find Request for records containing ‘insurance’ in the Being For field

Use the Perform Find button (or press return) to perform the search. FileMaker will either return a found set of records in Browse mode, or an error message:

Unlike Google, in a standard FileMaker find request, you must be specific about which field you are searching. To search in multiple fields, you will usually use multiple Find Requests. We will cover that in a later post.

In the next post, we will look at how the FileMaker search engine processes requests in different field types (text, number, date, etc), and some special searches you can do for each field type.