
Build a FileMaker solution from scratch, applying calculations in conditional formatting, validation, and custom functions. Explore ER diagrams and relationships to see how the pieces fit into an intermediate workflow.
Explore FileMaker tutorials and resources, access two training paths—the FileMaker train series and the philosophy of scripting—download templates, and discover consulting options for web-enabled FileMaker solutions.
Explains why a contact manager is used in the tutorial, highlighting familiarity, customization in Filemaker, and teaching techniques, scripts, portals, many-to-many relationships, and calculations from scratch for comprehension.
Explore how to build and customize a FileMaker contact manager, from creating interface, tables, fields, scripts, and calculations to using relationships for multiple addresses, form letters, and reports.
Utilize the chapter work files to build the contact manager from start to finish, compare start and end versions, and review chapters out of sequence to improve retention and debugging.
Download, extract, and place the working files on your desktop, then use the open working files button to work alongside the lessons.
Plan your FileMaker solution like building a house: interview clients, document features, and create entity relationship diagrams before building to avoid costly rework.
Translate real life scenarios into a database through data modeling and planning, weigh reporting needs when choosing between separate tables or single fields in FileMaker.
Draft an entity relationship diagram to map tables, attributes, and relationships. Understand one-to-one, one-to-many, and many-to-many connections, join tables, and how FileMaker handles records and fields.
Learn to model database relationships with ERDs, spotting one-to-many and many-to-many patterns through examples like actors and movies, artists and paintings, libraries and books, and join tables.
Plan a FileMaker contact manager by designing an ERD with one-to-many relationships from companies to contacts and join tables for many-to-many links among contacts, addresses, phones, and emails.
Build a contact manager in FileMaker by creating source tables for contacts, companies, phones, and emails, distinguish source tables from table occurrences, and explore managed databases and relationships.
Add housekeeping fields to every table with a creation time stamp and a creation account name, copy across tables, and prohibit modification while using lowercase, underscores, and no spaces.
Learn how to create key fields that act as the glue between tables in FileMaker, auto-generating serial numbers with leading zeros for proper sorting, and establishing primary and foreign keys.
Add data entry fields for companies and contacts, including address, city, postal code, main phone, website, and email, with separate extensions and support for multiple addresses, phones, and emails.
Understand how source tables and table occurrences define relationships in Filemaker, using primary keys and foreign keys to create one-to-many connections and connect them cleanly in the graph.
Choose a suitable river theme for the contacts layout in FileMaker, apply it across company and related layouts, and ensure touch-friendly readability for iPad and iPhone.
Learn to customize a FileMaker form layout for single-record viewing by trimming fields, aligning with dynamic guides, adding a context-sensitive title, and inserting merge fields for housekeeping and status information.
Create a contacts list layout and a matching form view to smoothly navigate from a hit list to a record detail, ensuring consistent headers and no jumping between views.
Create harmonious layouts by aligning header and footer across form and list views, size the body appropriately, and reuse these layouts across tables.
Hide the status toolbar in FileMaker to reclaim screen real estate and navigate between list and form layouts, then place and align graphics and configure buttons with simple scripts.
Recreate the status toolbar navigation in FileMaker by designing previous and next record buttons in layout mode, aligning and grouping them, and testing in browse and list views.
Learn core FileMaker security basics by setting passwords, creating separate accounts, and assigning privilege sets to control data entry and access. Secure your database against unauthorized access.
Create an open script that runs on file open to go to a layout and hide the status toolbar, using modular scripting and privilege set checks to conditionally show toolbars.
Learn to implement column-based sorting in FileMaker by scripting a no-dialog sort that switches between ascending and descending with the Shift key, using Get Active Modifier Keys and conditional logic.
Create a basic scripted find in FileMaker by entering find mode, pausing for criteria, and performing the find, while building a layout- and table-independent script for reuse.
Explore handling no records found in FileMaker by using set or capture to suppress default messages, present a clear message, and apply modular scripting to propagate the behavior across scripts.
Replace no records found message with a dynamic custom dialog triggered by get last error, showing 'no contacts found' or 'no companies found', and follow layout conventions displaying records afterward.
Turn on set or capture, test no find criteria by running a find with empty criteria, and trap a custom message, using the script debugger to identify error 400.
Learn to implement a modify last find in FileMaker by looping in find mode until records appear, pausing and repeating criteria, and exiting the loop based on user choices.
Fix the script to hide find criteria by freezing window redraw, and switch to the contacts form for one record or the contacts list for multiple records via dynamic layouts.
Discover how to use Filemaker 13 to hide and show objects with a single layout that switches between browse and find modes, reducing mode-related data entry errors.
Use Get window mode to hide objects in find mode and reveal them in browse mode, then add continue and cancel actions to control scripts.
Anchor buoy relational design groups table occurrences into layout-centered clusters. It uses anchors as layouts to show only related tables from the current context.
Duplicate the contacts form and list to create company form and list layouts, make scripts dynamic using existing code, and update fields, labels, and appearance for a polished interface.
Learn how to add a related field to connect companies and contacts in FileMaker, using a pop-up menu and the related-field interface to manage one-to-many relationships.
Navigate the go to related record step to move between related tables by tracing relationships and table occurrences, hopping from one table occurrence to another to view related records.
Explore using a portal on the many side of a FileMaker relationship to relate contacts to companies, enable creation of related records, and navigate with go to related record.
Add dynamic portal rows for addresses, phones, and e-mails in FileMaker, using relationships, names, and script parameters to navigate quickly to the last row.
Learn to implement safe portal row deletions by prompting users, using a dynamic script to delete whole rows across portals, with one script handling all portals and avoiding confusion.
Learn to send emails from a FileMaker solution using the send mail script, with email client or SMTP options, attach files, and to, cc, bcc, subject, and message from sets.
Show the first email and first phone number from creation order in the company portal by duplicating contacts to emails and to phones and adjusting the layout.
Print from the contacts table to generate company lists from companies and contacts, using merge fields for the company and each contact, with page breaks and black and white layout.
Discover how to script a print workflow in FileMaker, including a clean button layout, show only related records, subsummary grouping, and page breaks by company.
Explore self relationships in FileMaker by using a tab and portal to show contacts from the same company, excluding the current record and displaying related phones and emails.
Sort portals by a primary flag in FileMaker, using a checkbox label, and apply descending order to prioritize the primary email address.
Copy the primary field from emails into the phone and addresses tables, sort each portal, then apply a schema-based sort across all relationships via manage database.
Import flat data into a single table, then parse and distribute into related address and phone tables using a FileMaker script with loops, variables, and set fields.
Learn to compute a person's age from date of birth in FileMaker using a dynamic calculation field that automatically updates, with a year-based case adjustment and a 'years' suffix.
Learn to enforce consistent phone number formatting with an auto enter calculation using filter, left, middle, and right functions to format with dashes, tested in data viewer.
Learn to validate 10- or 7-digit phone numbers in FileMaker using case statements and the let function for reusable variables, area code formatting, and testing with data.
Validate phone numbers in FileMaker by enforcing seven or ten digits and warning on invalid input. Run auto enter before validation and test edge cases with optional user override.
Move phone formatting and validation formulas to the phones table and reuse them with a custom function called phone format, centralizing edits via manage custom functions.
Learn to hide and show FileMaker layout objects using hide object calculations across find and browse modes, and apply the technique to delete buttons on blank records.
Learn to use FileMaker conditional formatting with a formula to highlight primary contact info (email) by bolding when primary equals one, with optional color formatting.
Explore recursion in FileMaker by building a custom function that repeats a text input a given number of times using a case-based base case, concatenation, and a final stop condition.
Explore a recursive phone formatting technique that uses a pound symbol check and numbers-only logic to format any length by iteratively refining the format and the number.
learn how to synchronize modification timestamps across contacts and related portals with FileMaker calculations, using let, max, and case logic to show the latest timestamp.
Review and extend the last-modified logic in FileMaker by adding phones and addresses as new table occurrences, using a max of timestamps to update when any related field changes.
Create a FileMaker notes field with a timestamped entry system. Build a reusable notes script using go to object, set selection, and insert calculator result with get current time stamp.
Recreate merge fields in browse mode, set up fields, and add a merge fields dropdown for first name, last name, and company to compose letters.
Write a script to insert a merge field into a form letter with a paste button and dynamic guides, then position the result using a simple calculation with chevrons.
Create a contacts print letter layout to generate a personalized letter for each contact, using fixed inch margins, page breaks, and a script to populate the letter field for printing.
Build a print merge letter script that uses replace and substitute to fill a letter field with first name, last name, and company for records; test preview and save letters.
Create a letters table with name as the key, add a save button and script, and use set field to store letters via a one-way relationship with duplicate checks.
Insert letters in a FileMaker workflow by selecting from a dropdown populated by a name field, then use lookups or auto enter to insert the letter into the target field.
Learn to implement a safe delete workflow for letters in FileMaker by adding a delete button, performing existence checks, confirming deletions with dialogues, and updating fields and layouts.
Email a letter from FileMaker using a script parameter to print or send mail, select recipients from contacts, and map the letter field for each record.
Create a Filemaker interface to attach files via a container field and a calculation field showing the file name, then use a script to insert the file and commit records.
Learn how to save per-letter attachments in FileMaker by using a container field, duplicating scripts, and exporting attachments to a temporary path before attaching them to emails.
Learn to automatically log a history of actions when emailing or printing letters by building a history table, looping through contacts, and scripting the correspondence history.
Explore the standard many-to-many relationship using a join table with two foreign keys for invoices and products, and how lines support reporting by recording each sale.
Create a join table named links with a primary key and two foreign keys, use a portal popup to auto-fill keys, and explore why this join differs from a many-to-many.
Create a calculation field that concatenates last and first names to populate a value list for the portal, and leverage the index to speed finds and ensure unique display values.
Test the basic join construct in FileMaker by evaluating a nonstandard two-sided contact join, using a portal, testing adds and deletions, and noting upcoming auto enters and formatting fixes.
Inspect the linked record by examining the relationship graph and portal keys, explain why John Mark Osborne doesn’t show Billy Adlington, and preview auto enter calculations to fix the issue.
Create a conditional value list in FileMaker that excludes the current contact by switching the relation to not equals and using include only related values from the contacts table.
Apply auto enter calculations to key fields in the links table, populating contacts ID via a multi key designator and foreign keys, with conditional formatting to show the correct contact.
Use conditional formatting to hide linked contacts on each other’s records by making text white and tiny, overlapping fields, with a formula of 1.
Learn how to clean up the filemaker interface by organizing the linked contacts tab with three columns and two buttons, using table occurrences and a single add/delete script.
Create a conditional go-to-related-record script for links and contacts, using an if statement to swap relationships based on matching contact IDs, and test the navigation in layout mode.
Filter a portal by using a global field and pattern count, update the portal with a refresh window script trigger, and initialize the value list on startup for consistent options.
Fix a lingering link by creating a K.P. contacts ID calculation field, using list to collect foreign keys, and updating the relationship to exclude selected links, with a refresh window.
Build a FileMaker reminder system by duplicating a history table, configuring date and done fields, and designing a sortable portal with conditional formatting and a script to locate unfinished reminders.
Build a reminder system in FileMaker and implement a find script to locate incomplete reminders, then sort by date done to surface the most urgent items.
Understand record locking in multi-user FileMaker solutions, learn how edits lock records, test locally without server, and distinguish global fields from regular fields in locking behavior.
Test and handle record locking in FileMaker by checking for open records, using the script debugger, and showing a custom dialog when a record is edited or locked.
Discover techniques to prevent record locking in FileMaker by replacing script-driven updates with calculation fields, turning letter generation into calculations and using global fields to avoid conflicts.
Learn to design focused FileMaker interfaces by creating and applying custom menus that hide unnecessary options, streamline the records menu, and set menu behavior across layouts and startup.
Learn to build a dynamic, adaptive FileMaker menu with a single set across layouts. Create a custom function that derives 'contact' or 'company' from the layout name to drive menus.
Learn to customize FileMaker menus with managed custom menus, override titles with layout names in proper case for new and duplicate records, and add view find mode menu with shortcuts.
Learn how to create a custom navigation menu in FileMaker that hides the status toolbar and enables quick navigation between company and contact layouts with scripts and keyboard shortcuts.
Set objects to anchor to all sides in layout mode to auto resize as the window grows, preventing overlap and revealing more information.
Set and verify tab order in FileMaker in lab mode, clear all fields, and assign focus to essential fields such as name, phones, and email, skipping inaccessible areas.
Organize a FileMaker project by creating folders in layout mode, grouping contacts, companies, and tables. Hide unused items from the layout menu and align elements for a cleaner, navigable database.
Learn how to diagnose and fix link context bugs in FileMaker by correcting empty links, adjusting primary keys and relationships, and using script triggers to manage linked contacts reliably.
Discover a FileMaker contact manager foundation with unlimited addresses, phone numbers, and emails. Link related contacts by company, manage form letters, attachments, emails, and prints, and track history with reminders.
This Practical Techniques in FileMaker training course from Infinite Skills teaches you a number of useful techniques for working in the FileMaker database. This course assumes you have some working knowledge of FileMaker.
You will start by learning how to work from scratch, then jump into learning about automation, including how to sort columns, create a custom message, and hide objects. John will teach you about table occurrences, calculations, and correspondence. This video tutorial also covers complex relationships, such as creating a links table, testing the basic construct, and cleaning up the interface. Finally, you will cover a number of other handy techniques, including how to find reminders, create a custom menu, and squash bugs.
Once you have completed this computer based training video, you will have developed the skills necessary to apply these practical techniques while working in FileMaker. Working files are included, allowing you to follow along with the author throughout the lessons.