filesoft.Discuss a project
← FileMaker guides

PRACTICAL GUIDE · DATA & CALCULATIONS

Find an exact email address or literal symbol in FileMaker

Separate whole-field matching from special find characters, then check the records that actually match.

By Plato · Filesoft · Published 21 October 2026

Why an ordinary email find can surprise you

A search box may look like a place to type plain text, but a FileMaker find request also accepts operators. The @ character can stand for one unknown character. A star can stand for a sequence. An email address or product code containing those characters needs a deliberate search rule.

There are two separate decisions: whether the whole field must match, and whether punctuation is literal. Use == for whole-field matching and escape special characters you mean literally. This is not a case-sensitive identity test. If your business rule distinguishes case or Unicode variants, check the stored text separately.

Start in a disposable contact file with text fields ContactID and Email. Use the small CSV linked below. Keep one email per field; a field containing several addresses is a different search problem.

Try three explicit criteria

On a small screen, scroll the table sideways to see every column.

GoalEnter in Find modeExpected fixture IDs
Only ana@example.com==ana\@example.comE01
Only the code A*B==A\*BS01 in the Code field
Only the code A=B==A\=BS03 in the Code field

The sample also contains ana@example.com.au and anaxexample.com. They make an overly broad result visible. A result count of one is not enough by itself: inspect ContactID to establish which record was found. Duplicate stored addresses would legitimately return several records.

Recreate a fixed email search

Create a layout named Contacts based on the Contacts table occurrence. Run this example in a separate review window so the caller’s found set stays intact. Commit or cancel existing edits before opening that window; do not silently save a customer’s unfinished changes.

Readable FileMaker script · fixed review example

Set Error Capture [ On ]
Go to Layout [ "Contacts" (Contacts) ]
Enter Find Mode [ Pause: Off ]
Set Field [ Contacts::Email ; "==ana\\@example.com" ]
Perform Find [ ]
Set Variable [ $error ; Value: Get ( LastError ) ]
If [ $error = 401 ]
    Exit Script [ Text Result: "No matching email address." ]
Else If [ $error <> 0 ]
    Exit Script [ Text Result: "Find failed: " & $error ]
End If
Exit Script [ Text Result: Get ( FoundCount ) ]

The calculation string contains two backslashes so that its resulting find criterion contains one. This distinction matters when moving a manually tested criterion into Set Field. Recreate the steps using FileMaker’s selectors; this text is not a clipboard script import.

Do not turn the fixed example into an unsafe search box

A general search feature must decide what an empty value means, whether wildcards are allowed and how to handle quotes and backslashes. Concatenating "==" & $input does not by itself make arbitrary input literal. Keep a deliberate advanced-search mode separate from an exact-address control.

For an ordinary exact-search control, reject empty input before entering Find mode. In the local native check, an empty raw request returned error 400 and left the prior found set available. Check the error before reading a count or presenting records as new results; 400 is not the same as a valid search with no matches (401).

If you need byte-for-byte comparison, first find a manageable candidate set and compare each candidate with your documented normalization rule. Do not silently trim or lowercase source identifiers merely to make a test pass.

Check the boundary cases

Run the three criteria against the fixture and record IDs, not just counts. Then test an absent address, a deliberately duplicated address, blank input, and the ordinary unescaped address for comparison. Confirm that the no-match message leaves the review window empty and does not show stale results.

Finally close the review window and confirm that the original layout, selected record and filters are still present. Record the FileMaker version, platform and field indexing language with the result.

Try the small review fixture

The fictional data and review notes below accompany this article. They are not a FileMaker application, and they do not establish native test results.

References

Documentation checked on 21 October 2026. This review does not establish native execution or hosted compatibility.