You are previewing FileMaker Pro 14: The Missing Manual.
O'Reilly logo
FileMaker Pro 14: The Missing Manual

Book Description

You don’t need a technical background to build powerful databases with FileMaker Pro 14. This crystal-clear, objective guide shows you how to create a database that lets you do almost anything with your data so you can quickly achieve your goals. Whether you’re creating catalogs, managing inventory and billing, or planning a wedding, you’ll learn how to customize your database to run on a PC, Mac, web browser, or iOS device.

Table of Contents

  1. FileMaker Pro 14: The Missing Manual
  2. The Missing Credits
    1. About the Authors
    2. About the Creative Team
    3. Acknowledgments
    4. The Missing Manual Series
  3. Introduction
    1. Why FileMaker Pro?
    2. About This Book
      1. About the Figures
    3. Macintosh and Windows
    4. About the Outline
    5. What’s New in FileMaker Pro 14
    6. The Very Basics
      1. About→These→Arrows
    7. About the Online Resources
      1. The Missing CD
      2. Feedback
      3. Errata
      4. Register Your Book
    8. Safari® Books Online
  4. 1. Getting Started with FileMaker Pro
    1. 1. Working with Your Database
      1. A Very Quick Database Tour
        1. Content Area
        2. Scroll Bars
        3. Zoom Controls
        4. Understanding Modes
        5. Status Toolbar
      2. Opening and Closing Database Files
        1. Opening a Database
        2. Closing a Database
      3. Adding Data to Your Database
        1. Creating a Record
        2. Entering Information
          1. Moving Between Fields
          2. Editing a Record
          3. Reverting a Record
          4. Duplicating a Record
          5. Deleting Records
        3. Fields for Lots of Text
        4. Adding a New Button to the Toolbar
        5. Understanding Browse Mode Error Messages
          1. Typing in Vain
      4. Navigating Your Database
        1. Navigating Record by Record
        2. Navigating with Keyboard Shortcuts
      5. Finding Records
        1. Performing a Find
        2. Fast Match
        3. Quick Find
        4. Viewing All Records
        5. Understanding Find Mode Error Messages
          1. No Records Match
          2. No Valid Criteria
          3. Accidental Data Entry in Find Mode
      6. Sorting Records
        1. Understanding Sorting
        2. Sort Order
        3. Multiple Sort Fields
      7. Same Database, Different Views
        1. Viewing a List
        2. Viewing a Table
        3. Creating a New Window
        4. Hiding Windows
          1. Closing Hidden Windows
        5. Automatically Arranging Windows
      8. Saving Your Database
        1. Saving a Copy of Your Database
        2. Saving a Clone of Your Database
      9. Using FileMaker’s Help Menu
    2. 2. Organizing and Editing Records
      1. Views
        1. Form View
        2. List View
        3. Table View
          1. Rearranging Columns in Table View
          2. Modifying Table View
          3. Modifying Table View in Layout Mode
      2. Advanced Find Techniques
        1. Multiple Requests
          1. Searching with “AND” Conditions
          2. Searching with “OR” Conditions
        2. Finding by Omitting
        3. Refining a Found Set with Omit Commands
        4. Constraining and Extending the Found Set
          1. Constraining the Found Set
          2. Extending the Found Set
        5. Refining Searches with Find Operators
          1. Match Whole Word (=), Match Phrase (“”), and Match Entire Field (= =)
          2. Find Duplicate Values (!)
          3. Less than (<), Less than or Equal (≤), Greater than (>), and Greater than or Equal (≥)
          4. Range (…)
          5. Today’s Date (//) and Invalid Date or Time (?)
          6. Zero or More Characters (*)
          7. Any One Character (@) and Any One Digit (#)
          8. Relaxed Search (~)
        6. Modify Last Find
        7. Using the Find Pop-Up Menu
          1. Saving Finds
          2. Editing Saved Finds
      3. Editing the Contents of Your Fields
        1. Drag-and-Drop Editing
        2. Using the Replace Command
        3. Find and Replace
      4. Changing Text Appearance
        1. Text Formatting
        2. Paragraph Formatting
        3. The Text Ruler
        4. Formatting Tabs
          1. Setting Tabs in the Text Ruler
          2. Setting Tabs in the Tabs Dialog Box
      5. Checking Spelling
        1. Spell Checking with Menu Commands
        2. Spell Checking as You Type
        3. Managing Spelling Dictionaries
          1. User Dictionaries
      6. Preview Mode and Printing
    3. 3. Getting to Know FileMaker Go
      1. Hello Go
        1. Getting the App
        2. Loading Databases
          1. Copying to the Device
          2. Opening Files Hosted on a Server
          3. Closing Files
        3. Getting Around
          1. Changing Layouts
          2. Moving Among Records
        4. Finding and Sorting
          1. Quick Find
          2. Finding from the Layout
          3. Sorting
        5. Editing Information
        6. Container Fields
          1. Signatures
          2. Barcodes
          3. Photo Albums
          4. Camera
          5. Other Media
  5. 2. Building Your First Database
    1. 4. Creating a Custom Database
      1. Creating a New Database
      2. Creating and Managing Fields in Form View
        1. Creating Fields in the Field Picker
        2. Managing Field Types
        3. Creating Records in Table View
        4. Embedding a File in a Container Field
        5. Inserting a File with a Reference
        6. Exporting Field Contents
      3. Understanding Layouts
        1. The Layout Bar
        2. The Layout Status Toolbar and Layout Mode
        3. Layout Objects
      4. Customizing a Layout
        1. Editing Text Objects and Fields
          1. Moving and Resizing Fields
          2. Using Object Grids
          3. Viewing Sample Data
          4. Editing Text Objects
          5. Deleting Objects
          6. Adding Text Objects
          7. Creating a New Style
        2. Using the Inspector
        3. Inserting a Picture on a Layout
        4. Adding a Gradient
        5. Formatting Fields
          1. Formatting a Number Field
          2. Adding a Field Control Style and a Value List
          3. Editing a Value List
          4. Adding a Drop-Down Calendar to a Field
      5. Creating a New Layout
        1. Making Two Layouts Match
          1. Applying Styles
          2. Copying Object and Part Styles
      6. Arrange and Align Tools
        1. Aligning and Distributing Objects
        2. Resizing Objects
        3. Grouping and Locking Objects
        4. Arranging Objects
        5. Rotating Objects
    2. 5. Adding Power to Your Database
      1. Creating a Simple Calculation
        1. Creating Fields with Manage→Database
        2. Adding New Fields to a Layout
        3. Deleting a Field
          1. Discard Changes
      2. Creating a Related Table
        1. Understanding the Elements of a Relationship
        2. Creating a Key Field with an Auto-Enter Serial Number
          1. Using Replace Field Contents to Add Serial Numbers
        3. Creating a New Table
          1. Viewing the New Table’s Layout
        4. Creating a Relationship Between Two Table Occurrences
      3. Creating and Using Portals
        1. Adding a Portal to a Layout
        2. Resizing and Moving a Portal
          1. Adding Rows to a Portal
        3. Context
        4. Creating Records Through a Portal
        5. Editing Records Through a Portal
          1. Deleting Records Through a Portal
        6. Performing Finds with Related Data
      4. Using Tab Controls
        1. Creating a Tab Control
        2. Editing Tab Controls
          1. Adding, Removing, and Reordering Tabs
          2. Default Front Tab
          3. Tab Justification
          4. Tab Width
          5. Tabs Share Single Style
          6. Formatting a Tab Control
        3. Deleting a Tab Control
        4. Adding a Popover Button
      5. Adding Merge Fields
        1. Using Symbols to Show Important Info
      6. Writing a Basic Script
        1. Creating a Sort Script
        2. Creating a Button
        3. Applying a Script Trigger
      7. Creating a Dynamic Report with the Assistant
      8. Creating a Trailing Group Report
      9. Creating Charts in Table View
      10. Changing the Default Account
      11. Summing Up
  6. 3. Thinking Like a Developer
    1. 6. Creating and Managing a Relational Database
      1. Understanding Relational Databases
      2. Modeling Your Database
        1. Choosing Entities
        2. Finding Relationships
          1. One-to-Many Relationships
          2. One-to-One Relationships
          3. Many-to-Many Relationships
        3. The Entity Relationship Diagram
          1. Creating an ER Diagram
        4. Keys
          1. Primary and Foreign Keys
          2. Choosing a Good Primary Key Field
        5. Join Tables
      3. Creating a Relational Database
        1. Creating Relationships
        2. Sorting a Relationship
        3. Managing the Relationships Graph
          1. Managing Table Occurrences Using the Tables/Relationships Tools
          2. Arrange the Graph
          3. Selection Tools
          4. Color Your Table Occurrences
          5. Adding Notes
          6. Printing the Graph
      4. Using Relational Database Power
        1. One Table Occurrence, One Found Set
        2. Viewing Related Fields on a Layout
        3. Creating a Value List Based on a Related Field
      5. Lookups
        1. Creating Lookups
        2. Using a Relookup
        3. Navigating Between Related Records
          1. Go to Related Record
          2. Using GTRR to Create a Found Set
      6. Reviewing Relationship Concepts
        1. Bidirectionality
        2. Implicit Relationships in Action
    2. 7. Field Options
      1. Understanding Field Types
        1. Text
        2. Number
        3. Date
        4. Time
        5. Timestamp
        6. Container
        7. Calculation
        8. Summary
      2. Auto-Enter Field Options
        1. Creation Values
          1. Using Creation Name and Account Name
        2. Modification Values
        3. Serial Number
        4. Value from Last Visited Record
        5. Data
        6. Calculated Value
        7. Looked-Up Value
      3. Validation Options
        1. Making Validation Stricter
        2. Validation Requirements
          1. Strict Data Type
          2. Not Empty
          3. Unique
          4. Existing Value
          5. Member of Value List
          6. In Range
          7. Maximum Number of Characters
      4. Storage Options
        1. Global Storage
        2. Repeating Fields
        3. Furigana
        4. Indexing
          1. Automatic Indexing
          2. Manual Indexing
          3. Indexing Language
          4. Seeing the Index
          5. Container Field Options
      5. Beyond Text: Container Fields
        1. Pictures
          1. Insert→Picture
          2. Removing a File from a Container Field
          3. Storing a File Reference
          4. Exporting Data from Container Fields
        2. Audio/Video
        3. PDF
        4. File
        5. Managed Container Storage
          1. Base Directories
          2. Thumbnails
    3. 8. Layout Mechanics
      1. Layout Types
        1. Creating a New Layout
        2. Computer and Touch Device Layout Types
          1. Form
          2. List
          3. Table
          4. Report
        3. Printer Layout Types
          1. Labels or Vertical Labels
          2. Envelope
          3. Report
      2. Layout Parts
        1. Parts in Form View
        2. Parts in List View
        3. Parts in Preview Mode
        4. Part Setup Dialog Box
        5. When to Use Each Type
        6. Arranging Parts
        7. Adding and Removing Parts
        8. Renaming a Layout
        9. Setting Layout View
        10. Found Sets and Layouts
        11. Layout Setup
        12. Managing Layouts
      3. Formatting Fields
        1. Field Controls
          1. Edit Box
            1. Show vertical scroll bar
            2. Auto-complete
          2. Drop-Down List
          3. Pop-up Menu
          4. Checkbox Set
            1. Checkbox icons
          5. Radio Button Set
          6. Drop-Down Calendar
          7. Auto-Complete
            1. Auto-complete in edit boxes
            2. Auto-Complete in Drop-Down Lists
        2. Repetitions
        3. Display Data From
        4. Placeholder Text
          1. The Field Picker and Placeholder Text
      4. Field Behavior
        1. Hide Object When
      5. Data Formatting
        1. Number Formatting
          1. General
          2. As Entered
          3. Boolean
          4. Decimal
          5. Currency
          6. Percent
        2. Date Formatting
          1. As Entered
          2. Preset Styles
          3. Custom
          4. Short System Date and Long System Date
        3. Time Formatting
        4. Timestamp Formatting
        5. Graphic Formatting
          1. Format
          2. Alignment
          3. Optimize For
      6. Tab Order
        1. Customizing the Tab Order
        2. Preserving the Automatic Order
      7. Creating Layouts for Printing
        1. Preview Mode
        2. Print Margins
        3. Columns
    4. 9. Layout Design
      1. Layout Themes
        1. Theme Families
          1. Changing a Layout’s Theme
      2. Styles
        1. Applying a Style to an Object
        2. Customizing Styles
        3. Saving Custom Formats to a Style
        4. Saving Style Changes to the Theme
        5. Importing Themes
      3. Formatting Object States
      4. Alignment Tools
        1. Grids
          1. Customizing the Grid
        2. Guides
        3. Dynamic Guides
        4. Arrange and Align Buttons
      5. Screen Stencils
      6. Merge Fields
      7. Merge Variables
      8. Tooltips
      9. Autosizing
        1. Autosizing in List Layouts
        2. Sliding Layout Objects
          1. Understanding Sliding
          2. Setting Sliding Options
          3. More Sliding & Visibility Options
          4. Object Visibility
      10. Buttons
        1. Designing Buttons
          1. Navigation Tasks
          2. Layout Specific Tasks
          3. Context Specific Tasks
        2. Creating a Button
        3. Attaching a Script to a Button
        4. Converting a Layout Object to a Button
          1. Making a Button Not a Button
        5. Popover Buttons
        6. Button Bar
      11. Slide Controls
    5. 10. Understanding Calculations
      1. Understanding Calculations
        1. Creating a Calculation
        2. The Structure of a Calculation
        3. Using Fields in Calculations
        4. Using Constants in Calculations
          1. Number Constants
          2. Text Constants
        5. Using Operators in Calculations
          1. Mathematical Operators
          2. The Concatenation Operator
          3. Comparison Operators
          4. Logical Operators
          5. Parentheses
        6. Functions
          1. Text Functions
          2. Text Formatting Functions
          3. Number Functions
          4. Date Functions
          5. Time Functions
          6. Timestamp Functions
          7. Container Functions
          8. Aggregate Functions
          9. Summary Functions
          10. Repeating Functions
          11. Financial Functions
          12. Trigonometric Functions
          13. Logical Functions
          14. Get Functions
          15. Design Functions
          16. Mobile Functions
          17. Custom Functions
          18. External Functions
        7. Expressions
      2. Using a Related Field in a Calculation
      3. Understanding the Specify Calculation Dialog Box
        1. Table Occurrence Context
        2. Field List
        3. Operators
        4. Function List
        5. Result Type
        6. Calculation Box
        7. Changing the Standard Evaluation Behavior
      4. Auto-Enter Calculations
      5. Validate Data Entry with a Calculation
      6. Commenting in Calculations
    6. 11. More Calculations and Data Types
      1. Number Crunching Calculations
        1. Number Function Types
        2. Using Number Functions
          1. Abs()
          2. Average()
          3. Count()
          4. Floor() and Ceiling()
          5. List()
          6. Round()
          7. SetPrecision()
      2. Going Beyond Basic Calculations
        1. Reviewing the Data and New Business Rules
        2. Planning the Calculations
        3. Constructing the Calculation
      3. Text Calculations
        1. Text Functions
          1. Text Function Types
          2. Character Functions
          3. Word Functions
          4. Text Editing Functions
          5. Text Value Functions
          6. Text Counting Functions
        2. Text Formatting Functions
          1. TextColor() and RGB()
          2. TextFont()
          3. TextSize()
          4. TextStyleAdd() and TextStyleRemove()
      4. Date and Time Calculations
        1. Math with Dates and Times
          1. Dates
          2. Times
        2. Parsing Dates and Times
        3. Calculations that Create Dates and Times
          1. The Secret Powers of Date()
      5. Containers in Calculations
        1. Calculations with Pictures, Sounds, Movies, and Files
        2. Calculations with References
    7. 12. Understanding Scripts
      1. Understanding Scripts
      2. Your First Script
        1. Preparing the Database
        2. Planning Your Script
        3. Understanding the Script Workspace
          1. The Scripts Pane
          2. The Script Editing Pane
          3. The Steps Pane
        4. Creating Your Script
        5. Improving Your Script
      3. Shortcuts to the Script Workspace
      4. The Importance of the Layout
        1. When to Switch
      5. Running Scripts
        1. The Scripts Menu
        2. Buttons
        3. Script Triggers
        4. Timer Scripts
        5. Running Scripts on the Server
          1. Waiting for Script Results
      6. Organizing Your Scripts
        1. Creating Script Folders
        2. Creating Menu Separators
      7. Branching and Looping in Scripts
        1. Branching with If, Else If, Else, and End If
        2. Testing Multiple Conditions
        3. Looping
          1. Using Go to Record/Request/Page to Exit a Loop
          2. Using Exit Loop If to Exit a Loop
          3. Understanding Types of Loops
      8. Script Triggers
        1. Creating a Simple Script Trigger
        2. File Option Triggers
          1. OnFirstWindowOpen
          2. OnLastWindowClose
          3. OnWindowOpen
          4. OnWindowClose
          5. OnFileAVPlayerChange
        3. Layout Triggers
          1. OnRecordLoad
          2. OnRecordCommit
          3. OnRecordRevert
          4. OnLayoutKeystroke
          5. OnLayoutEnter
          6. OnLayoutExit
          7. OnLayoutSizeChange
          8. OnModeEnter
          9. OnModeExit
          10. OnViewChange
          11. OnGestureTap
          12. OnExternalCommandReceived
        4. Object Triggers
          1. OnObjectEnter
          2. OnObjectKeystroke
          3. OnObjectModify
          4. OnObjectValidate
          5. OnObjectSave
          6. OnObjectExit
          7. OnPanelSwitch
          8. OnObjectAVPlayerChange
    8. 13. Exploring Script Steps
      1. Go to Layout
      2. Go to Object
        1. Naming Objects
        2. Using Go to Object in a Script
      3. Scripting for Fields
        1. Navigating Fields
          1. Go to Field
          2. Go to Next Field and Go to Previous Field
        2. Editing Commands
        3. Selecting Text
        4. Editing Field Data
          1. Avoiding Cut, Copy, and Paste
          2. Set Field
          3. Set Field by Name
          4. Insert Calculated Result
          5. Inserting Other Values
          6. Putting Data in Container Fields
          7. Using the Insert File Script Step
        5. Creating a Field Script
          1. Building the Script
        6. Other Steps that Work with Fields
          1. Replace Field Contents and Relookup Field Contents
          2. Set Next Serial Value
          3. Perform Find/Replace
      4. Working with Records
        1. Creating, Duplicating, and Deleting Records
        2. Navigating Through Records
          1. Go to Record/Request/Page
          2. Go to Related Record
        3. Opening, Reverting, and Committing Records
          1. Open Record/Request
          2. Commit Records/Requests
          3. Revert Record/Request
        4. Copying Records
          1. Copy Record/Request
          2. Copy All Records/Requests
        5. Working with Portals
          1. Go to Portal Row
          2. Refresh Portal
      5. Finding Records
        1. Pausing for Users’ Find Requests
          1. Triggering a Find Script
        2. Static Find Requests
        3. Using a Variable to Create Dynamic Find Requests
        4. Constraining and Extending the Found Set
        5. Omitting Records
        6. Modify Last Find
      6. Sorting Records
        1. Sorting Records with an OnRecordLoad Trigger
      7. Working with Windows
        1. Creating Windows
          1. Specifying Advanced Style Options
        2. Bringing a Window to the Front
        3. Closing a Window
        4. Moving and Resizing Existing Windows
          1. Adjust Window
          2. Arrange All Windows
          3. Move/Resize Window
        5. Other Window-Related Script Steps
      8. Working with Files
        1. Opening and Closing Files
        2. Save a Copy As
        3. Other File-Related Script Steps
      9. Printing
      10. Working with FileMaker Go
        1. Enable Touch Keyboard
          1. Enable Touch Keyboard
          2. Set Allowed Orientations
          3. Insert from Device
          4. Set Zoom Level
      11. Other Script Steps
        1. Upload to FileMaker Server
        2. Get Directory
        3. Set Layout Object Animation
        4. Refresh Object
        5. Open URL
        6. Dial Phone
        7. Set Web Viewer
        8. Execute SQL
        9. Flush Cache to Disk
        10. Exit Application
  7. 4. Becoming a Power Developer
    1. 14. Applying Developer Utilities
      1. Copying Database Structure
        1. Importing Tables and Fields
        2. Copying and Pasting Tables
        3. Copying and Pasting Fields
        4. Importing Scripts
        5. Copying Scripts
        6. Copying Script Steps
      2. Script Debugger
        1. Controlling Script Execution
        2. Breakpoints
        3. Examining Errors
        4. Pause on Error
        5. The Call Stack
        6. Working with the Debugger Window
      3. The Data Viewer
        1. The Current Tab
        2. The Watch Tab
      4. Disable Script Steps
      5. The Database Design Report
        1. Generating the DDR
        2. Using the DDR
        3. Finding Broken Elements with the DDR
      6. Custom Functions
        1. Defining a Custom Function
        2. Editing Custom Functions
        3. Sharing Custom Functions
      7. Custom Menus
        1. Editing a Menu
        2. Creating a New Menu
        3. Using Existing Commands
        4. Submenus
        5. Removing a Menu
        6. Hiding or Showing a Menu by Calculation
        7. Installing Custom Menu Sets
      8. Developer Utilities
        1. Using the Developer Utilities
          1. Renaming Files
          2. Create Runtime Solution Application(s)
          3. Remove Admin Access from Files Permanently
          4. Turn on Kiosk Mode for Non-Admin Accounts
          5. Databases Must have a FileMaker File Extension
          6. Create Error Log for any Processing Errors
          7. Loading and Saving Settings
      9. File Maintenance
    2. 15. Advanced Relationship Techniques
      1. Advanced Relationships
        1. Self-Join Relationships
          1. Avoiding Ambiguity
        2. Multiple Criteria Relationships
          1. Editing a Relationship
        3. Relationship Operators
      2. Portal Filtering
      3. Understanding Table Occurrences
        1. Deciding Which Table Needs a New Occurrence
          1. Adding a Table Occurrence
          2. Adding Fields for New Table Occurrences
      4. Table Occurrence Groups
        1. Planning the New Elements You’ll Need
        2. Understanding Table Occurrence Groups
        3. Creating a New Table Occurrence Group
        4. Building the Assign Expenses Layout
          1. Duplicating and Editing an Existing Layout
          2. Copying a Portal from Another Layout
          3. Using GTRR to Switch TOGs
      5. Understanding Graph Arrangements
      6. Connecting Database Files
        1. Adding a Table Occurrence from Another File
        2. Defining Data Sources Using a Path
      7. Using Multiple Relationship Techniques
        1. Creating the Invoice Finder Layout
    3. 16. Reporting and Analysis
      1. Summary Fields and Subsummary Parts
        1. Summary Fields
        2. Subsummary Parts
        3. Other Summary Field Types
          1. Total of
          2. Average of
          3. Count of
          4. Minimum and Maximum
          5. Standard Deviation of
          6. Fraction of Total of
          7. List of
          8. Summarizing Repetitions
        4. Advanced Subsummary Parts
          1. Multiple Subsummary Parts on One Layout
        5. Leading and Trailing Grand Summaries
        6. Subsummary Parts and Printing
      2. Web Viewer Objects
        1. Putting a Web Viewer on a Layout
        2. Web Viewer Options
          1. Allow Interaction with Web Viewer Content
          2. Display Content in Find Mode
          3. Display Progress Bar
          4. Display Status Messages
          5. Automatically Encode URL
      3. Conditional Formatting
        1. Conditional Formatting of Fields
        2. Conditional Formatting of Text and Other Objects
        3. Advanced Conditional Formatting
        4. Removing Conditional Formatting
      4. Basic Charting
        1. Chart Types
          1. Column
          2. Stacked Column
          3. Positive/Negative Column
          4. Bar
          5. Stacked Bar
          6. Pie
          7. Line
          8. Area
          9. Scatter
          10. Bubble
        2. Creating a Chart
        3. Editing a Chart
      5. Chart Formatting
        1. Visualizing Data
      6. Charting and Reports
        1. Picking the Right Fields
        2. Choosing an Appropriate Layout Part
        3. Using the Correct Sort Order
      7. Advanced Charting
        1. Delimited Data
        2. Related Records
    4. 17. Advanced Calculations
      1. Understanding Boolean Functions
        1. Using the Self() Function
      2. Using Storage Options
        1. Understanding Stored and Unstored Calculation Fields
          1. Field Dependencies
          2. Deciding When to Store
          3. Indexing Calculations
        2. Global Calculation Fields
      3. Logical Functions
        1. Conditional Functions
          1. The If() Function
          2. The Case() Function
          3. The Choose() Function
        2. Constructing a Conditional Calculation
          1. Total Due Calculation #1: Using the If() Function
          2. Total Due Calculation #2: Using the Case() Function
      4. The Let() Function and Variables
        1. Defining Calculation Variables
          1. Total Due Calculation #3: Using the Let() Function
        2. The Life of a Variable
          1. Local Variables
          2. Global Variables
        3. Nesting Let() Functions
      5. Recursion
        1. Step 1: Solve the First Case
        2. Step 2: Assume Your Function Already Works, and Use It
        3. Step 3: Find a Stopping Point
      6. Plug-Ins
        1. Installing Plug-ins
        2. Finding Plug-ins
        3. Creating Your Own Plug-ins
    5. 18. Advanced Scripting
      1. Commenting Scripts
      2. Communicating with Database Users
        1. Showing Custom Dialog Box
          1. Showing a Simple Message
          2. Asking a Simple Question
          3. Providing Input Fields
          4. Understanding the Commit Data Option
        2. Building a Custom Layout
        3. Showing Feedback with a Merge Variable
      3. Creating Modular Scripts
        1. The Perform Script Script Step
        2. Halt Script and Exit Script
          1. Exit Script (Result)
          2. Organizing Scripts that Use Halt Script or Exit Script
      4. Script Parameters
        1. Testing for Script Parameters
        2. Adding Script Parameters to a Button
        3. More on Using Script Parameters
      5. Script Variables
      6. Handling Errors
        1. The Set Error Capture Script Step
        2. The Get(LastError) Function
        3. The Allow User Abort Script Step
      7. Advanced Script Triggers
        1. Install OnTimer Script
        2. Keystroke Triggers
          1. Detecting Keystrokes
          2. Creating a Simple Keystroke Trigger
          3. Creating a more complex Keystroke Filter
      8. Putting a Complex Script Together
        1. Planning the Script
        2. Considering Exceptions
        3. Creating Subscripts
        4. Testing Scripts
  8. 5. Security and Integration
    1. 19. Adding Security
      1. How Security Works
        1. Understanding Accounts
        2. Understanding Privileges
      2. Managing Accounts
        1. Adding a Password to the Admin Account
        2. Adding a New Account
          1. Testing Your New Account
      3. Managing Privilege Sets
        1. Understanding Privilege Sets
          1. The Built-In Privilege Sets
          2. Custom Privilege Sets
        2. Understanding Individual Privileges
          1. Other Privileges
        3. Creating a Privilege Set
          1. Data Access and Design Privileges
            1. Record privileges
          2. Creating Record-Level Access
          3. Field-Level Access
            1. Layout privileges
            2. Value list privileges
            3. Script privileges
          4. Editing a Privilege Set
        4. Using Detailed Setup
        5. External Authentication
        6. Operating System Login Support
      4. Extended Privileges
        1. Creating an Extended Privilege
        2. Checking for an Extended Privilege
        3. Assigning Extended Privileges
      5. Managing External File Access
      6. Scripts and Security
        1. Detecting Privileges in a Script
        2. Handling Security Errors
        3. Granting Full Access Privileges
        4. Managing Security with Scripts
          1. Add Account
          2. Delete Account
          3. Reset Account Password
          4. Change Password
          5. Enable Account
          6. Re-Login
    2. 20. Sharing Data Using FileMaker Server
      1. Understanding Database Sharing
        1. Reviewing Record Locking
      2. FileMaker Network Sharing
      3. Setting Up a Host Computer
      4. Opening a Shared File
        1. Opening a Shared File with the Launch Center
        2. Understanding the Launch Center’s Hosts Tab
          1. Finding Files
          2. Marking Favorites
          3. Adding a Favorite Host
          4. Configure LDAP
          5. Using a Network File Path
          6. Reconnecting to FileMaker Server
      5. FileMaker Server
        1. Preparing to Install FileMaker Server
          1. Understanding Installation Types
        2. Installing FileMaker Server
          1. Configuring Your Server
        3. Administering FileMaker Server
          1. Using the Technology Tests Page
        4. Uploading a Database to FileMaker Server
          1. Setting a Minimum Version
          2. Uploading a Database from FileMaker Pro
          3. Uploading a Database Manually
          4. Closing Database Files
        5. Understanding Backups
          1. Scheduling a Backup
          2. Creating a Backup Schedule
          3. Enabling Progressive Backups
          4. Restoring from a Backup
        6. Understanding the Standby Server
      6. Server Hardware
    3. 21. Sharing Data with WebDirect and FileMaker Go
      1. Understanding WebDirect
        1. Understanding WebDirect Compatibility
      2. Enabling WebDirect in a Database
        1. Setting Up WebDirect on FileMaker Server
      3. Opening a Database in FileMaker Go
        1. Logging In After Hibernation
          1. Customing Reauthentication Periods
        2. Connecting with a Web Browser
        3. Disconnecting from WebDirect
      4. Designing for WebDirect and FileMaker Go
        1. Reducing Overhead
        2. Creating a Good User Experience
        3. Choosing Layouts for WebDirect and FileMaker Go
      5. Designing for Go
      6. Designing for WebDirect
        1. Understanding the WebDirect Toolbar
        2. Understanding WebDirect Menus
      7. Sharing Databases on the Internet without WebDirect
        1. Custom Web Publishing
        2. Static Web Publishing
    4. 22. Sharing Data with Other Systems
      1. Sharing Your Data with Others
        1. Save/Send Records As
          1. Saving as Microsoft Excel
          2. Saving as Portable Document Format (PDF)
      2. Snapshot Link
      3. External SQL Sources
        1. Setting Up a Data Source
          1. The SQL Database Server
          2. Installing the ODBC Driver
          3. Configuring the Data Source in Windows
          4. Configuring Data Sources on Mac OS X
          5. Finishing ODBC Data Source Configuration
        2. Connecting FileMaker to a SQL Data Source
        3. Adding SQL Tables to a FileMaker Database
          1. Creating Relationships
          2. Shadow Tables
        4. Using SQL Tables
      4. Exporting Data
        1. Grouped Exports
          1. Export Formats
      5. Importing Data
        1. Recurring Import
        2. Importing over Existing Data
          1. Update Existing Records in Found Set
          2. Update Matching Records in Found Set
        3. Creating Tables on Import
        4. Creating a New Database from an Import File
      6. Import Data Sources
        1. File
        2. Folder
          1. Importing a Folder of Pictures or Movies
          2. Importing a Folder of Text Files
        3. XML Data Source
          1. XML Export
          2. Bento Data
        4. ODBC Data Sources
      7. Importing and Exporting in a Script
        1. Save Records Script Steps
        2. The Import Records Script Step
        3. The Export Records Script Step
  9. 6. Appendixes
    1. A. Getting Help
      1. Getting Help from FileMaker Pro
      2. FileMaker’s Installed Extras
        1. Starter Solutions
        2. Getting Help from FileMaker, Inc.
        3. The Resource Center
        4. Updates and Downloads
        5. FileMaker Training
          1. FileMaker Training Series
          2. Webinars
          3. Video and Tutorials
          4. Third-Party Training Materials
        6. Technical Support
          1. Free Support
          2. Paid Support
        7. Developer Programs
          1. FileMaker Community
          2. FileMaker Business Alliance (FBA)
        8. DevCon
      3. Getting Help from the Community
        1. Local User Groups
        2. Internet Resources
        3. Training/Consultants
    2. B. Layout Badges
    3. C. Using the Insert Commands with Container Fields
      1. Notes
        1. Notes
          1. Notes
    4. D. FileMaker Error Codes
  10. Index
  11. About the Authors
  12. Copyright