FileMaker Pro 8: The Missing Manual - Helion
ISBN: 978-05-965-5057-8
stron: 768, Format: ebook
Data wydania: 2005-09-23
Księgarnia: Helion
Cena książki: 129,00 zł
Used by millions worldwide, FileMaker Pro is an award-winning database program for managing people, projects, images, assets, and other information. It's easy to use and totally customizable--so long as you know what you're doing. But FileMaker Pro doesn't come with a printed manual, so FileMaker Pro: The Missing Manual is the authoritative, jargon-free book that should have been in the box.
FileMaker Pro: The Missing Manual approaches FileMaker the way FileMaker approaches you: it's user-friendly and seemingly straightforward enough, but it offers plenty of substance worthy of deeper exploration. Packed with practical information as well as countless expert tips and invaluable guidance, it's an in-depth guide to designing and building useful databases with the powerful and pliable FileMaker Pro.
Covering FileMaker for both Windows and Macintosh, FileMaker Pro: The Missing Manual is ideal for small business users, home users, school teachers, developers--anyone who wants to organize information efficiently and effectively. Whether you want to run a business, publish a shopping cart on the Web, plan a wedding, manage a student information system at your school, or program databases for clients, this book delivers.
Author Geoff Coffey has many years of experience using FileMaker Pro (he was, in fact, an early beta tester for the product). Author Susan Prosser is a FileMaker Certified Developer who trains other developers. Together, Coffey and Prosser show you how to:
- Get FileMaker up and running quickly and smoothly
- Import and organize information with ease
- Design relational databases that are simple to use, yet powerful
- Take advantage of FileMaker Pro calculation capabilities
- Automate processes with scripting
- Customize FileMaker Pro to your needs and preferences
- Share information with other people (coworkers, clients, and customers) and other programs
- Understand and select the best security options
What could easily come across as dry and intimidating--things like relational theory, calculations, and scripting--are presented in a way that is interesting and intuitive to mainstream users. In no time, you'll be working more productively and efficiently using FileMaker Pro.
Osoby które kupowały "FileMaker Pro 8: The Missing Manual", wybierały także:
- Oracle Database 12c. Programowanie w języku PL/SQL 149,00 zł, (74,50 zł -50%)
- Bazy danych. Podstawy projektowania i języka SQL 34,89 zł, (26,17 zł -25%)
- Head First PHP & MySQL. Edycja polska 99,00 zł, (74,25 zł -25%)
- MySQL. Mechanizmy wewnętrzne bazy danych 37,00 zł, (27,75 zł -25%)
- Metody i techniki odkrywania wiedzy. Narzędzia CAQDAS w procesie analizy danych jakościowych 28,99 zł, (22,90 zł -21%)
Spis treści
FileMaker Pro 8: The Missing Manual eBook -- spis treści
- FileMaker Pro 8: The Missing Manual
- SPECIAL OFFER: Upgrade this ebook with OReilly
- A Note Regarding Supplemental Files
- Copyright
- The Missing Credits
- About the Authors
- About the Creative Team
- Acknowledgements
- The Missing Manual Series
- Introduction
- Why FileMaker Pro?
- Whats New in FileMaker Pro 8
- The Very Basics
- About This Book
- About the Outline
- Living Examples
- Macintosh and Windows
- About These Arrows
- About MissingManuals.com
- Safari Enabled
- I. Introduction to FileMaker Pro
- 1. Your First Database
- 1.1. A Very Quick Database Tour
- 1.1.1. Content Area
- 1.1.2. Mode pop-up menu
- 1.1.2.1. Status area and the status area control
- 1.1.2.2. Zoom controls
- 1.1.2.3. Scroll bars
- 1.2. Creating a New Database
- 1.2.1. Choosing a Template
- 1.3. Opening and Closing Database Files
- 1.3.1. Opening a Database
- 1.3.2. Closing a Database
- 1.4. Saving Your Databases
- 1.4.1. Saving a Copy of Your Database
- 1.4.1.1. Saving a clone of your database
- 1.4.1. Saving a Copy of Your Database
- 1.5. Adding Records to Your Database
- 1.5.1. Creating a Record
- 1.5.2. Editing a Record
- 1.5.2.1. Moving between fields
- 1.5.3. Adding More Records
- 1.5.3.1. Duplicating a record
- 1.5.3.2. Deleting records
- 1.5.3.3. Revert the record
- 1.6. Navigating Your Database
- 1.6.1. Navigating Record by Record
- 1.6.2. Keyboard Shortcuts
- 1.6.3. Finding Records
- 1.6.3.1. Performing a Find
- 1.6.3.2. FastMatch
- 1.7. Same Database, Multiple Windows
- 1.7.1. Automatically Arranging Windows
- 1.7.2. Hiding Windows
- 1.7.2.1. Closing hidden windows
- 1.1. A Very Quick Database Tour
- 2. Organizing and Editing Records
- 2.1. Views
- 2.1.1. Form View
- 2.1.2. List View
- 2.1.3. Table View
- 2.2. Advanced Find Mode
- 2.2.1. Finding by Omitting
- 2.2.1.1. Constraining and Extending the Found Set
- 2.2.1.2. Constraining the found set
- 2.2.1.3. Extending the found set
- 2.2.2. Refining Searches with Find Symbols
- 2.2.2.1. The Wildcard (*)
- 2.2.2.2. Less Than (<), Less Than or Equal To (), Greater Than (>), and Greater Than or Equal To ()
- 2.2.2.3. Exact Match (=), Literal Text (""), and Field Content Match (==)
- 2.2.2.4. Range ()
- 2.2.2.5. Duplicates (!)
- 2.2.2.6. Today's Date (//) and Invalid Date or Time (?)
- 2.2.2.7. One Character (@), One Digit (#), and Zero or More Characters (*)
- 2.2.2.8. Relaxed Search (~)
- 2.2.3. Refining a Found Set with Omit Commands
- 2.2.3.1. Omit Record
- 2.2.3.2. Omit Multiple
- 2.2.3.3. Show Omitted Only
- 2.2.1. Finding by Omitting
- 2.3. Changing Multiple Records
- 2.4. Sorting Records
- 2.4.1. Multiple Sort Fields
- 2.5. Editing What's in Your Fields
- 2.5.1. Find and Replace
- 2.5.2. Fields for Lots of Text
- 2.5.3. Drag and Drop Editing
- 2.5.4. Text Formatting
- 2.5.4.1. Font
- 2.5.4.2. Size
- 2.5.4.3. Style
- 2.5.4.4. Text Color
- 2.5.4.5. The Text Format Dialog Box
- 2.6. Paragraph Formatting
- 2.6.1. Align Text
- 2.6.2. Line Spacing
- 2.6.3. The Text Ruler
- 2.6.4. Detailed Formatting in the Paragraph Box
- 2.6.5. Tabs
- 2.6.5.1. Setting tabs in the Text Ruler
- 2.6.5.2. Setting tabs in the Tabs dialog box
- 2.6.5.3. Editing tab stops in the Tabs dialog box
- 2.7. Beyond Text: Container Fields
- 2.7.1. Pictures
- 2.7.2. Copy and paste
- 2.7.2.1. Insert Picture
- 2.7.3. QuickTime
- 2.7.4. Sound
- 2.7.4.1. Recording sound
- 2.7.5. File
- 2.7.5.1. Exporting data from container fields
- 2.8. Checking Spelling
- 2.8.1. Spell Checking in One Pass
- 2.8.2. Spell Checking as You Type
- 2.8.3. Managing Spelling Dictionaries
- 2.8.3.1. User dictionaries
- 2.9. Printing and Preview Mode
- 2.1. Views
- 3. Building a New Database
- 3.1. Tables and Fields
- 3.1.1. Tables: The Foundation of Your Database
- 3.1.2. Figuring Out What Fields You Need
- 3.2. Defining Fields
- 3.2.1. Changing a Field's Name
- 3.2.2. Duplicating a Field
- 3.2.3. Deleting a Field
- 3.2.4. Reordering the Field List
- 3.2.5. Printing Field Definitions
- 3.2.6. Field Types
- 3.2.6.1. Text
- 3.2.6.2. Number
- 3.2.6.3. Date
- 3.2.6.4. Time
- 3.2.6.5. Timestamp
- 3.2.6.6. Container
- 3.2.6.7. Calculation and summary
- 3.3. Advanced Field Options
- 3.3.1. Auto-Enter Options
- 3.3.1.1. Creation values
- 3.3.1.2. Modification values
- 3.3.1.3. Serial number
- 3.3.1.4. Value from last visited record
- 3.3.1.5. Data
- 3.3.1.6. Calculated value
- 3.3.1.7. Looked-up value
- 3.3.1.8. Prohibit modification of value during data entry
- 3.3.2. Validation Options
- 3.3.2.1. When to perform validation
- 3.3.2.2. Overriding validation
- 3.3.3. Validation Requirements
- 3.3.3.1. Strict data type
- 3.3.3.2. Not empty
- 3.3.3.3. Unique
- 3.3.3.4. Existing value
- 3.3.3.5. Member of value list
- 3.3.3.6. In range
- 3.3.3.7. Maximum number of characters
- 3.3.4. Storage Options
- 3.3.4.1. Global storage
- 3.3.4.2. Repeating fields
- 3.3.5. Indexing
- 3.3.5.1. Automatic indexing
- 3.3.5.2. Controlling indexing manually
- 3.3.5.3. Indexing language
- 3.3.1. Auto-Enter Options
- 3.4. Bringing It All Together
- 3.1. Tables and Fields
- 1. Your First Database
- II. Layout Basics
- 4. Layout Basics
- 4.1. What Is a Layout?
- 4.1.1. Types of Layouts
- 4.2. Switching Between Layouts
- 4.3. What Makes a Layout
- 4.3.1. Layout Parts
- 4.3.1.1. Parts in form view
- 4.3.1.2. Parts in list view
- 4.3.1.3. Parts in Preview mode
- 4.3.1.4. When to use 'em
- 4.3.2. Layout Objects
- 4.3.2.1. Text objects
- 4.3.2.2. Lines and shapes
- 4.3.2.3. Images
- 4.3.2.4. Fields
- 4.3.1. Layout Parts
- 4.4. Layout Mode
- 4.4.1. The Status Area
- 4.4.2. View Options
- 4.4.2.1. Go to Layout
- 4.4.2.2. Page margins
- 4.4.2.3. Graphic rulers
- 4.4.2.4. Text ruler
- 4.4.2.5. Ruler lines
- 4.4.2.6. T-Squares
- 4.4.2.7. Object size
- 4.4.2.8. Buttons
- 4.4.2.9. Sample data
- 4.4.2.10. Text boundaries
- 4.4.2.11. Field boundaries
- 4.4.2.12. Sliding objects
- 4.4.2.13. Non-printing objects
- 4.4.2.14. Toolbars
- 4.4.2.15. Status area
- 4.4.2.16. Zoom in and out
- 4.4.3. Layout Setup
- 4.4.3.1. Layout name
- 4.4.4. Layout Tools
- 4.4.4.1. The drawing tools
- 4.4.4.2. The control tools
- 4.4.4.3. The field and part tools
- 4.4.4.4. The line and fill Tools
- 4.4.5. Working with Parts
- 4.4.5.1. Deleting a part
- 4.4.5.2. Resizing parts
- 4.4.5.3. Coloring a part
- 4.4.6. Adding and Editing Text
- 4.4.6.1. Adding new text
- 4.4.6.2. Changing text font, size, and style
- 4.4.6.3. Editing existing text
- 4.4.7. Formatting Fields
- 4.4.7.1. Text formats
- 4.4.7.2. Other field type formats
- 4.4.8. Field Control
- 4.4.8.1. Field/Control setup
- 4.4.9. Laying Out the Layout
- 4.4.9.1. Resizing objects
- 4.4.9.2. Aligning objects
- 4.4.9.3. Moving objects
- 4.4.9.4. Adding images
- 4.4.10. Adding a Dividing Line Between Layout Parts
- 4.4.10.1. Wrapping up
- 4.1. What Is a Layout?
- 5. Creating Layouts
- 5.1. The Lowdown on Layouts
- 5.1.1. Standard Form
- 5.1.2. Columnar List/Report
- 5.1.3. Table View
- 5.1.4. Labels or Vertical Labels
- 5.1.5. Envelope
- 5.1.6. Blank Layout
- 5.2. Creating a Layout from Scratch
- 5.2.1. Adding a New Layout
- 5.2.2. Set up the Header
- 5.2.2.1. Matching part sizes with the Object Size palette
- 5.2.2.2. Matching part sizes with the T-Squares
- 5.2.2.3. Adding the finishing touches
- 5.2.3. Set up the Body
- 5.2.3.1. Making data flow with merge fields
- 5.2.3.2. Using symbols to show important info
- 5.2.3.3. Arranging the objects
- 5.2.3.4. Adding a field
- 5.2.3.5. Copying formatting with the format painter
- 5.2.3.6. Alternating the body color
- 5.2.4. Setting Layout View
- 5.3. Creating Layouts for Reports
- 5.3.1. Visualize the Result Preview Mode
- 5.3.2. Creating a Report Layout with an Assistant
- 5.3.3. Print Margins
- 5.3.4. Improving the Report Layout
- 5.3.4.1. Tidy up the header
- 5.3.4.2. Rearrange the body
- 5.3.4.3. Tweak the footer
- 5.3.5. Sliding Layout Objects
- 5.3.5.1. When to use sliding
- 5.3.5.2. Choosing the objects to slide
- 5.3.5.3. Setting sliding options
- 5.3.5.4. The Sliding/Printing dialog box
- 5.3.5.5. Using sliding on the report layout
- 5.1. The Lowdown on Layouts
- 6. Advanced Layouts and Reports
- 6.1. Setting up Field Controls
- 6.1.1. Creating Value Lists
- 6.1.2. Values from a field
- 6.1.2.1. Adding a second value field
- 6.1.2.2. Value list from another file
- 6.1.3. Editing Value Lists
- 6.2. Adding Field Controls to Layouts
- 6.2.1. Edit Box
- 6.2.2. Drop-Down List
- 6.2.3. Pop-up Menu
- 6.2.4. Checkbox Set
- 6.2.5. Radio Button Set
- 6.2.6. Drop-down Calendar
- 6.2.7. Auto-Complete
- 6.2.7.1. Auto-Complete in Edit Boxes
- 6.2.7.2. Auto-Complete in Drop-down Lists
- 6.2.8. Repetitions
- 6.2.9. Display Data From
- 6.3. Field Behavior
- 6.3.1. Field Entry
- 6.3.2. Select Entire Contents of Field on Entry
- 6.3.3. Input Method
- 6.3.4. Go To Next Field Using
- 6.4. Tab Order
- 6.5. Print-Related Layout Options
- 6.5.1. Non-Printing Objects
- 6.5.2. Columns
- 6.6. Format the Number/Date/Time/Graphic
- 6.6.1. Number Formatting
- 6.6.1.1. General Format
- 6.6.1.2. Leave data formatted as entered
- 6.6.1.3. Format as Boolean
- 6.6.1.4. Format as decimal
- 6.6.2. Date Formatting
- 6.6.2.1. Leave data formatted as entered
- 6.6.2.2. Format as
- 6.6.2.3. Custom
- 6.6.3. Time Formatting
- 6.6.3.1. Leave data formatted as entered
- 6.6.3.2. Format as
- 6.6.4. Timestamp Formatting
- 6.6.5. Graphic Formatting
- 6.6.5.1. Scale
- 6.6.5.2. Alignment
- 6.6.5.3. Cropping
- 6.6.1. Number Formatting
- 6.7. Adding Buttons
- 6.7.1. Creating Buttons with the Button Tool
- 6.7.2. Turning an Existing Layout Object into a Button
- 6.7.3. Making a Button not a Button
- 6.7.4. Button Actions
- 6.7.5. Go to Layout
- 6.7.6. Go to Record/Request/Page
- 6.7.7. Go to Field
- 6.7.8. Go to Next Field and Go to Previous Field
- 6.7.9. Enter Browse Mode, Enter Find Mode, and Enter Preview Mode
- 6.7.10. Editing Actions
- 6.7.11. Field Actions
- 6.7.12. Record Actions
- 6.7.13. Found Set Actions
- 6.7.14. Window Actions
- 6.7.15. Print Actions
- 6.7.16. Open Actions
- 6.7.17. Exiting FileMaker
- 6.8. Tab Panels
- 6.8.1. Creating a Tab Panel
- 6.8.2. Editing Tab Panels
- 6.8.3. Deleting a Tab Panel
- 6.9. Reports and Summary Fields
- 6.9.1. Summary Fields
- 6.9.2. Creating a Summary Report
- 6.9.3. Adding a Summary Part
- 6.9.4. Other Summary Field Types
- 6.9.4.1. Total of
- 6.9.4.2. Average of
- 6.9.4.3. Count of
- 6.9.4.4. Minimum and Maximum
- 6.9.4.5. Standard Deviation of
- 6.9.4.6. Fraction of Total
- 6.9.4.7. Summarizing repetitions
- 6.9.5. Sub-Summary Reporting
- 6.9.5.1. Sub-summary parts
- 6.9.5.2. Creating a sub-summary part
- 6.1. Setting up Field Controls
- 4. Layout Basics
- III. Multiple Tables and Relationships
- 7. Multiple Tables and Relationships
- 7.1. Relational Databases Explained
- 7.2. Modeling Your Database
- 7.2.1. Choosing Entities
- 7.2.2. Finding Relationships
- 7.2.2.1. One-to-many relationships
- 7.2.2.2. One-to-one relationships
- 7.2.2.3. Many-to-many relationships
- 7.2.3. The Entity-Relationship Diagram
- 7.2.3.1. Creating an ER diagram
- 7.2.4. Keys
- 7.2.4.1. Primary keys
- 7.2.4.2. Foreign keys
- 7.2.5. Join Tables
- 7.3. Creating a Relational Database
- 7.3.1. Defining the Tables
- 7.3.2. Defining the Fields
- 7.3.2.1. Adding primary keys
- 7.3.2.2. Adding foreign keys
- 7.3.3. Defining the Relationships
- 7.3.4. Cleaning up the Relationship Graph
- 7.3.4.1. Arrange the graph
- 7.3.4.2. Color your table occurrences
- 7.3.4.3. Adding notes
- 7.3.4.4. Printing the graph
- 7.3.4.5. Deleting relationships
- 7.3.5. Finishing the Field Definitions
- 7.3.5.1. Customers table fields
- 7.3.5.2. Jobs table fields
- 7.3.5.3. Expenses table fields
- 7.3.5.4. Timeslips table fields
- 7.3.5.5. Invoices table fields
- 7.3.5.6. Line items table fields
- 7.3.5.7. Payments table fields
- 7.4. Relational Databases
- 7.4.1. One Table Occurrence, One Found Set
- 7.4.2. Viewing Related Fields
- 7.4.3. Adding or Editing Data
- 7.4.4. Editing Related Data
- 7.4.4.1. Showing multiple related records
- 7.4.4.2. Editing fields through a portal
- 8. Advanced Relationship Techniques
- 8.1. Creating Related Records
- 8.1.1. Value Lists Based on Fields
- 8.1.2. Creating Related Records Through a Portal
- 8.1.2.1. Preparing the relationship
- 8.1.2.2. Adding a portal to a layout
- 8.1.2.3. Adding records in a portal
- 8.1.3. Navigating Between Related Records
- 8.1.3.1. Go to Related Record
- 8.1.3.2. GTRR with a found set
- 8.2. Table Occurrences
- 8.2.1. Understanding Table Occurrences
- 8.2.2. Relationships with Table Occurrences
- 8.2.2.1. Adding a new key field to a table
- 8.2.2.2. Adding a table occurrence
- 8.2.2.3. Adding fields for new table occurrences
- 8.3. Managing Data with Data Tunneling
- 8.3.1. How to Use Data Tunneling
- 8.3.1.1. What you need in your data tunneling interface
- 8.3.2. Understanding Table Occurrence Groups
- 8.3.1. How to Use Data Tunneling
- 8.4. Building a Data Tunneling Interface
- 8.4.1. Creating a Global Field
- 8.4.2. Creating a New Table Occurrence Group
- 8.4.2.1. Adding new table occurrences to a group
- 8.4.3. Building a Global Field Layout
- 8.4.3.1. Using a global pop-up field to change the display in a value list
- 8.5. Connecting Databases
- 8.5.1. Adding a Table Occurrence from Another File
- 8.6. Lookups
- 8.6.1. Creating Lookups
- 8.6.2. Triggering a Lookup
- 8.7. Advanced Relationships
- 8.7.1. Relationships with More than One Criterion
- 8.7.2. Other Relationship Operators
- 8.7.3. Creating the Invoice Finder
- 8.1. Creating Related Records
- 7. Multiple Tables and Relationships
- IV. Calculations
- 9. Introduction to Calculations
- 9.1. Understanding Calculations
- 9.1.1. Creating a Calculation
- 9.2. The Structure of a Calculation
- 9.2.1. Fields
- 9.2.2. Constants
- 9.2.2.1. Number constants
- 9.2.2.2. Text constants
- 9.2.3. Operators
- 9.2.3.1. Mathematical operators
- 9.2.3.2. The concatenation operator
- 9.2.3.3. Comparison operators
- 9.2.3.4. Logical operators
- 9.2.3.5. The ^ Operator
- 9.2.3.6. Parentheses
- 9.2.4. Functions
- 9.2.4.1. Text functions
- 9.2.4.2. Text formatting functions
- 9.2.4.3. Number functions
- 9.2.4.4. Date functions
- 9.2.4.5. Time functions
- 9.2.4.6. Timestamp functions
- 9.2.4.7. Aggregate functions
- 9.2.4.8. Summary functions
- 9.2.4.9. Repeating functions
- 9.2.4.10. Financial functions
- 9.2.4.11. Trigonometric functions
- 9.2.4.12. Logical functions
- 9.2.4.13. Get functions
- 9.2.4.14. Design functions
- 9.2.4.15. Custom functions
- 9.2.4.16. External functions
- 9.2.5. Expressions
- 9.3. Creating a Calculation Field
- 9.3.1. The Specify Calculation Dialog Box
- 9.3.1.1. Table occurrence context
- 9.3.1.2. Field list
- 9.3.1.3. Operators
- 9.3.1.4. Function list
- 9.3.1.5. Result type
- 9.3.1.6. Calculation box
- 9.3.1.7. Repetitions
- 9.3.1. The Specify Calculation Dialog Box
- 9.4. Auto-Enter Calculations
- 9.5. Validate Data Entry with a Calculation
- 9.6. Replacing Data Using a Calculation
- 9.7. Comments
- 9.1. Understanding Calculations
- 10. Calculations and Data Types
- 10.1. Number Crunching Calculations
- 10.1.1. Number Operators
- 10.1.2. Number Function Types
- 10.1.3. Precision
- 10.2. Going Beyond Basic Calculations
- 10.2.1. Preparing the Data
- 10.2.2. Building the Calculation Fields
- 10.2.3. Constructing the Calculation
- 10.3. Text Parsing Calculations
- 10.3.1. The Concatenation Operator
- 10.3.2. Text Function Types
- 10.3.3. Text Functions
- 10.3.3.1. Character functions
- 10.3.3.2. Word functions
- 10.3.3.3. Text value functions
- 10.3.3.4. Text counting functions
- 10.3.3.5. Other text parsing functions
- 10.3.4. Text Formatting Functions
- 10.3.4.1. TextColor and RGB
- 10.3.4.2. TextFont
- 10.3.4.3. TextSize
- 10.3.4.4. TextStyleAdd and TextStyleRemove
- 10.4. Date and Time Calculations
- 10.4.1. How FileMaker Looks at Time
- 10.4.2. Math with Dates and Times
- 10.4.2.1. Dates
- 10.4.2.2. Times
- 10.4.3. Parsing Dates and Times
- 10.4.4. Calculations that Create Dates and Times
- 10.4.4.1. The secret powers of date
- 10.5. Containers in Calculations
- 10.5.1. Calculations with Pictures, Sounds, Movies, and Files
- 10.5.2. Calculations with References
- 10.1. Number Crunching Calculations
- 11. Advanced Calculations
- 11.1. Stored, Unstored, and Global Fields
- 11.1.1. Stored and Unstored Calculation Fields
- 11.1.1.1. Field dependencies
- 11.1.1.2. Deciding when to store
- 11.1.2. Global Calculation Fields
- 11.1.1. Stored and Unstored Calculation Fields
- 11.2. Logical Functions
- 11.2.1. Conditional Functions
- 11.2.1.1. The If function
- 11.2.1.2. The Case function
- 11.2.1.3. The Choose function
- 11.2.2. Constructing a Conditional Calculation
- 11.2.2.1. Total Due calculation #1: using the If function
- 11.2.2.2. Total Due calculation #2: using the Case function
- 11.2.1. Conditional Functions
- 11.3. The Let Function and Variables
- 11.3.1. Defining Calculation Variables
- 11.3.1.1. Total Due calculation #3: using Let
- 11.3.2. The Life of a Variable
- 11.3.2.1. Local variables
- 11.3.2.2. Global variables
- 11.3.3. Nesting Let Functions
- 11.3.1. Defining Calculation Variables
- 11.1. Stored, Unstored, and Global Fields
- 12. Extending Calculations
- 12.1. Custom Functions
- 12.1.1. Defining a Custom Function
- 12.1.2. Editing Custom Functions
- 12.1.3. Recursion
- 12.1.3.1. Step 1: solve the first case
- 12.1.3.2. Step 2: assume your function already works, and use it
- 12.1.3.3. Step 3: find a stopping point
- 12.2. Plug-ins
- 12.2.1. Installing Plug-ins
- 12.2.2. Old and New Plug-ins
- 12.2.3. Finding Plug-ins
- 12.2.4. Creating Your Own Plug-ins
- 12.1. Custom Functions
- 9. Introduction to Calculations
- V. Scripting
- 13. Scripting Basics
- 13.1. Your First Script
- 13.1.1. Preparing the Database
- 13.1.2. Planning Your Script
- 13.1.3. Creating Your Script
- 13.1.4. Improving Your Script
- 13.2. The Importance of the Layout
- 13.2.1. When to Switch
- 13.3. Running Scripts
- 13.3.1. The Scripts Menu
- 13.3.2. Buttons
- 13.3.3. Opening and Closing Scripts
- 13.4. Branching and Looping in Scripts
- 13.4.1. Branching with If, Else If, Else, and End If
- 13.4.2. Looping
- 13.1. Your First Script
- 14. Script Steps
- 14.1. Go to Layout
- 14.2. Scripting for Fields
- 14.2.1. Navigating Fields
- 14.2.1.1. Go to Field
- 14.2.1.2. Go to Next Field and Go to Previous Field
- 14.2.2. Editing Commands
- 14.2.3. Selecting Text
- 14.2.4. Editing Field Data
- 14.2.4.1. Using Cut, Copy, and Paste
- 14.2.4.2. Set Field
- 14.2.4.3. Insert Calculated Result
- 14.2.4.4. Inserting other values
- 14.2.4.5. Putting data in container fields
- 14.2.5. A Field Script in Action
- 14.2.5.1. Building the script
- 14.2.6. Other Steps that Work with Fields
- 14.2.6.1. Perform Find/Replace
- 14.2.6.2. Replace Field Contents and Relookup Field Contents
- 14.2.6.3. Set Next Serial Value
- 14.2.1. Navigating Fields
- 14.3. Working with Records
- 14.3.1. Creating, Duplicating, and Deleting Records
- 14.3.2. Navigating Among Records
- 14.3.2.1. Go to Record/Request/Page
- 14.3.2.2. Go to Related Record
- 14.3.3. Opening, Reverting, and Committing Records
- 14.3.3.1. Open Record/Request
- 14.3.3.2. Commit Record/Request
- 14.3.3.3. Revert Record/Request
- 14.3.4. Copying Records
- 14.3.4.1. Copy Record/Request
- 14.3.4.2. Copy All Records/Requests
- 14.3.5. Working With Portals
- 14.3.5.1. Go to Portal Row
- 14.4. Finding Records
- 14.4.1. Performing the User's Find Requests
- 14.4.2. Static Find Requests
- 14.4.3. Dynamic Find Requests
- 14.4.4. Constraining and Extending the Found Set
- 14.4.5. Omitting Records
- 14.4.6. Modify Last Find
- 14.4.7. Save Records as
- 14.4.7.1. Save Records as Excel
- 14.4.7.2. Save Records as PDF
- 14.5. Sorting Records
- 14.6. Working with Windows
- 14.6.1. Creating Windows
- 14.6.2. Bringing a Window to the Front
- 14.6.3. Closing a Window
- 14.6.4. Moving and Resizing Existing Windows
- 14.6.4.1. Adjust Window
- 14.6.4.2. Arrange All Windows
- 14.6.4.3. Move/Resize Window
- 14.6.5. Other Window-Related Script Steps
- 14.7. Working with Files
- 14.7.1. Opening and Closing Files
- 14.7.2. Save a Copy As
- 14.7.3. Other File-Related Script Steps
- 14.8. Printing
- 14.9. Other Script Steps
- 14.9.1. Open URL
- 14.9.2. Dial Phone
- 14.9.3. Send Email
- 14.9.4. Flush Cache to Disk
- 14.9.5. Exit Application
- 15. Advanced Scripting
- 15.1. Commenting Scripts
- 15.2. Asking and Telling the User
- 15.2.1. Showing a Simple Message
- 15.2.2. Asking a Simple Question
- 15.2.3. Asking a Not-so-simple Question
- 15.3. Organizing Complex Scripts
- 15.3.1. The Perform Script Script Step
- 15.3.2. Halt Script and Exit Script
- 15.3.2.1. Exit Script (Result)
- 15.3.3. Script Parameters
- 15.4. Handling Errors
- 15.4.1. The Set Error Capture Script Step
- 15.4.2. The Get ( LastError ) Function
- 15.4.3. The Allow User Abort Script Step
- 15.5. Putting a Complex Script Together
- 15.5.1. Planning the Script
- 15.5.2. Considering Exceptions
- 15.5.3. Creating Subscripts
- 15.5.4. Adding a Script Parameter to a Perform Script Step
- 15.5.5. Finishing the Subscripts
- 15.5.5.1. The "- find unbilled activity" subscript
- 15.5.6. Script variables
- 15.5.6.1. Copying and editing existing script steps
- 15.5.6.2. The "- create invoice record" subscript
- 15.5.6.3. The "- process unbilled items" script
- 15.5.6.3.1. Retrofitting a prior subscript.
- 15.5.6.3.2. Getting data from a script variable.
- 15.5.6.3.3. Making a script more efficient.
- 15.5.6.3.4. Pulling data through a relationship.
- 15.5.6.3.5. Creating a looping script.
- 15.5.7. The Finished Scripts
- 15.5.7.1. Create Invoice for Job
- 15.5.7.2. -find unbilled activity
- 15.5.7.3. - create invoice record
- 15.5.7.4. - process unbilled items
- 13. Scripting Basics
- VI. Security and Integration
- 16. Security
- 16.1. How Security Works
- 16.1.1. Who Gets Access
- 16.1.2. What They Can Do
- 16.2. Privilege Sets
- 16.2.1. Managing Privilege Sets
- 16.2.1.1. Creating a new privilege set
- 16.2.2. Other Privileges
- 16.2.3. Data Access and Design Privileges
- 16.2.3.1. Record privileges
- 16.2.3.2. Creating record-level access
- 16.2.3.3. Field-level access
- 16.2.3.4. Layout privileges
- 16.2.3.5. Value list privileges
- 16.2.3.6. Script privileges
- 16.2.3.7. Editing a privilege set
- 16.2.1. Managing Privilege Sets
- 16.3. Managing Accounts
- 16.3.1. Adding a New Account
- 16.3.2. External authentication
- 16.4. Extended Privileges
- 16.4.1. Default Extended Privileges
- 16.4.2. Creating an Extended Privilege
- 16.4.3. Checking for an Extended Privilege
- 16.4.4. Assigning Extended Privileges
- 16.5. Scripts and Security
- 16.5.1. Detecting Privileges in a Script
- 16.5.2. Handling Security Errors
- 16.5.3. Running Scripts with Full Access Privileges
- 16.5.4. Managing Security with Scripts
- 16.5.4.1. Add Account
- 16.5.4.2. Delete Account
- 16.5.4.3. Reset Account Password
- 16.5.4.4. Change Password
- 16.5.4.5. Enable Account
- 16.5.4.6. Re-Login
- 16.1. How Security Works
- 17. Exporting and Importing
- 17.1. Exporting a File
- 17.1.1. Grouped Exports
- 17.2. Export Formats
- 17.2.1. Save/Send Records As
- 17.2.1.1. Excel
- 17.2.1.2. Portable Document Format (PDF)
- 17.2.1. Save/Send Records As
- 17.3. Importing Data
- 17.3.1. Importing Over Existing Data
- 17.3.1.1. Update existing records in found set
- 17.3.1.2. Update matching records in found set
- 17.3.2. Creating Tables on Import
- 17.3.3. Converting Files Without Importing
- 17.3.1. Importing Over Existing Data
- 17.4. Import Data Sources
- 17.4.1. File
- 17.4.2. Folder
- 17.4.2.1. Importing a folder of pictures or movies
- 17.4.2.2. Importing a folder of text files
- 17.4.3. Digital Camera
- 17.4.4. XML Data Source
- 17.4.4.1. XML Export
- 17.4.5. ODBC Data Source
- 17.5. Importing and Exporting in a Script
- 17.5.1. The Import Records Script Step
- 17.5.2. The Export Records Script Step
- 17.1. Exporting a File
- 18. Sharing Your Database
- 18.1. FileMaker Network Sharing
- 18.1.1. Setting Up a Host Computer
- 18.1.2. Opening a Shared File
- 18.2. Sharing Over the Internet
- 18.2.1. Turning on Web Sharing
- 18.2.1.1. Advanced Web Publishing Options
- 18.2.1.2. Configuring file access
- 18.2.2. Connecting from a Web Browser
- 18.2.3. Custom Home Page
- 18.2.1. Turning on Web Sharing
- 18.3. FileMaker Server
- 18.3.1. File Compatibility
- 18.3.2. Administering FileMaker Server
- 18.3.2.1. FileMaker Server Admin in Windows
- 18.3.2.2. FileMaker Server Admin in Mac OS X
- 18.3.3. Configuring FileMaker Server
- 18.3.3.1. Remote administration
- 18.3.3.2. Clients tab
- 18.3.3.3. Databases tab
- 18.3.3.4. Runtime Solutions tab
- 18.3.3.5. Default Folders tab
- 18.3.3.6. Administration tab
- 18.3.3.7. Logging tab
- 18.3.3.8. Directory Service tab
- 18.3.3.9. Security tab
- 18.3.4. Other Server Options
- 18.3.4.1. Summary
- 18.3.4.2. Databases
- 18.3.4.3. Clients
- 18.3.4.4. Schedules
- 18.3.4.5. Plug-ins
- 18.3.4.6. Statistics
- 18.4. Server Hardware
- 18.1. FileMaker Network Sharing
- 19. Developer Utilities
- 19.1. Script Debugger
- 19.1.1. The Script Debugger Window
- 19.1.1.1. Debugger toolbar
- 19.1.1.2. Script steps
- 19.1.1.3. Active script(s) information
- 19.1.1.4. Data Viewer
- 19.1.1.5. Debugging Controls submenu
- 19.1.1. The Script Debugger Window
- 19.2. Disable Script Steps
- 19.3. The Database Design Report
- 19.3.1. Generating the DDR
- 19.3.2. Using the DDR
- 19.3.3. Finding Broken Elements with the DDR
- 19.4. Tooltips
- 19.5. Copying Database Structure
- 19.5.1. Importing Tables and Fields
- 19.5.2. Copying Fields
- 19.5.3. Copying Scripts and Script Steps
- 19.6. Custom Menus
- 19.6.1. Editing a Menu
- 19.6.2. Creating a New Menu
- 19.6.3. Removing a Menu
- 19.6.4. Installing Custom Menu Sets
- 19.7. Developer Utilities
- 19.7.1. Using the Developer Utilities
- 19.7.1.1. Renaming files
- 19.7.1.2. Create Runtime Solution application(s)
- 19.7.1.3. Remove admin access from files permanently
- 19.7.1.4. Enable Kiosk mode for non-admin accounts
- 19.7.1.5. Databases must have a FileMaker file extension
- 19.7.1.6. Create error log for any processing errors
- 19.7.1.7. Loading and saving settings
- 19.7.2. Delivering a Runtime Solution
- 19.7.1. Using the Developer Utilities
- 19.8. File Maintenance
- 19.1. Script Debugger
- 16. Security
- VII. Appendixes
- A. Getting Help
- A.1. Getting Help from FileMaker Itself
- A.1.1. FileMaker Pro Help
- A.1.2. Templates
- A.1.3. Electronic Documentation
- A.1.4. XML Examples
- A.2. Getting Help from FileMaker, Inc.
- A.2.1. Updaters & Downloads
- A.2.2. Documentation and Publications
- A.2.3. Technical Support
- A.2.4. FileMaker Applications
- A.2.5. FileMaker Solutions Alliance (FSA)
- A.3. Getting Help from the Community
- A.3.1. Mail Lists and Newsgroups
- A.3.2. Training/Consultants
- A.3.3. DevCon
- A.1. Getting Help from FileMaker Itself
- B. FileMaker Error Codes
- A. Getting Help
- Index
- About the Authors
- Colophon
- SPECIAL OFFER: Upgrade this ebook with OReilly