Special Edition Using Filemaker Pro 5

by ;
Edition: 1st
Format: Paperback
Pub. Date: 2000-01-07
Publisher(s): Que Publishing
List Price: $47.24

Rent Book

Select for Price
There was a problem. Please try again later.

New Book

We're Sorry
Sold Out

Used Book

We're Sorry
Sold Out

eBook

We're Sorry
Not Available

How Marketplace Works:

  • This item is offered by an independent seller and not shipped from our warehouse
  • Item details like edition and cover design may differ from our description; see seller's comments before ordering.
  • Sellers much confirm and ship within two business days; otherwise, the order will be cancelled and refunded.
  • Marketplace purchases cannot be returned to eCampus.com. Contact the seller directly for inquiries; if no response within two days, contact customer service.
  • Additional shipping costs apply to Marketplace purchases. Review shipping costs at checkout.

Summary

Special Edition Using FileMaker Pro focuses on experienced developers who are looking for expert advice. The book provides you with in-depth techniques and helps you solve real-life problems. The book assumes a basic knowledge of FileMaker, but no knowledge of relational database theory or planning and designing a relational database. Topics covered include (all topics are taught with hands-on usage of FileMaker Pro): Understanding, planning and designing a relational database; maintaining the database; crafting a user interface; putting your database on the Web; and reporting.

Author Biography

Rich Coulombre is Director of FileMaker Pro Services and co-owner of a database design, development, and training organization specializing in FileMaker Pro whose clients include: Apple, FileMaker, Bell Atlantic, Raytheon, Harvard, and MIT. He has taught literally thousands of people how to develop databases using the FileMaker Pro, and is an award-winning trainer.Jonathan Price designs online information systems and consults with teams at companies such as Apple, Canon, Claris, FileMaker, Epson, GO, Hewlett-Packard, Hitachi, IBM, Nikon, Ricoh and others.Jonathan and Rich wrote the two bestselling FileMaker 2 books for Addison Wesley, both of which are still being used by FileMaker managers as assigned reading for new company hires. Jonathan and Rich are often asked at conferences and via email when their next book will be released.

Table of Contents

Introduction 1(1)
A Developer Muses in Garden Supplies
2(2)
The Gist of the Relational Approach
4(1)
The Benefits of Going Relational
5(2)
The Problem with Lookups
7(3)
The Most Common Relationship: One to Many
10(4)
How We Keep Track of All the Children
14(3)
What's Next
17(4)
I Planning
Planning
21(12)
Some Good Reasons to Plan Ahead
22(1)
What Goes into Planning
23(1)
Explore the Culture Like an Anthropologist
24(6)
Encourage Griping, Day-Dreaming, and Brainstorming
25(1)
Interview Managers First
26(2)
Listen to the Staff for a Different Perspective
28(1)
Ask the Staff What You Can Do to Make Their Life Easier
29(1)
Report on the Plan in a Preliminary Proposal
30(3)
Articulating Your Plans as They Evolve
33(22)
Adopt the Client's Point of View
34(1)
What Goes into the Proposal
34(5)
Articulate the Business Problem
35(1)
Clarify the Purpose
36(1)
Identity the Information
36(1)
Estimate the Time and Money Needed for Developing the Database
37(1)
Act as a Consultant to a Client
38(1)
Create an Entity Relationship Diagram
39(13)
Deciding What an Entity Is
39(1)
Turning Our Attention to Attributes
40(2)
Make Up a List of Candidates
42(1)
Start the Diagram at the Heart of the Database
43(1)
Defining the Relationships Between Entities
44(4)
Confirming That the Emerging Diagram Fulfills the System Requirements
48(1)
Formalizing the Diagrams
49(2)
Refining Your ER Diagram by Questioning Your Tables
51(1)
Working Document: The Absolutely Positively Final ER Diagram
51(1)
Create a File Structure Diagram
52(3)
Specifying Your Fields
55(28)
Creating a Field Specification List
56(3)
Naming the Field
59(3)
Defining the Field Type
62(8)
Consider How You Want to Sort the Values in the Field
63(1)
The Way You Want to Search Affects Your Choice of Field Type
64(1)
Automatic Formatting Depends on Field Type
65(4)
The Way You Can Calculate Depends on the Field Type
69(1)
Considering What Actually Will Be Entered in the Field
70(6)
What to Put in a Text Field
70(1)
What to Put in a Number Field
71(1)
What to Put in a Date Field
71(1)
What to Put in a Time Field
72(1)
What to Put in a Container Field
73(1)
What to Put in a Calculation Field
74(1)
What to Put in a Summary Field
75(1)
What to Put in a Global Field
75(1)
Changing the Order in Which FileMaker Lists Fields
76(1)
Deleting Fields
77(1)
Changing Field Types
78(1)
Changing Field Names
79(1)
Anticipating the Layout for Each Field
80(3)
Case Studies in Planning
83(24)
Why Case Studies
84(1)
A Case Study of Old Willy's Country Club
84(9)
Talking with Shirley
85(1)
Developing the Entities and Their Relationships
85(2)
Considering Some Business Rules
87(1)
Scores by Hole
87(1)
Entering Scores
88(1)
Field Definitions
88(1)
Fields in the Scores by Hole File
89(4)
A Case Study of Klodner's Kar Dealership
93(14)
Playing with Entities
94(4)
Developing the Field Definitions for the Kar Dealership
98(9)
II Building
Building Your Files
107(26)
Build Your Tables
108(2)
Naming Names
108(1)
The Naming of Entities
109(1)
Create Your Fields
110(2)
Create Relationships Between Files
112(21)
Name Those Relationships!
112(1)
Create Relationships
113(2)
Deciding What Kind of Relationship You Need
115(2)
How to Display Data from the Parent Side
117(3)
Implications for Searching and Sorting
120(1)
Creating a Relationship from a Parent to Children
120(2)
Choosing the Options for your Relationship
122(2)
Displaying Data from the Child Side
124(2)
Implications for Finding and Sorting
126(1)
Finding in a Portal
127(1)
Using Data from the Related Child Fields
127(1)
Using Data That Is More Than One File Away
128(2)
Special Focus: Using a File of Constants, or a Template File
130(3)
Maintaining Referential Integrity
133(40)
Why You Need Referential Integrity
134(1)
Problems with Referential Integrity
134(2)
Following the Rules
136(16)
Implementing Rule #1: Primary Keys Must Be Unique
136(1)
Implementing Rule #2: Foreign Keys Must Be Valid
137(7)
Creating a Child from a Parent via a Portal
144(2)
Another Way to Insert a Value into the Foreign Key Field
146(3)
Setting Two Foreign Keys
149(3)
Filling the Foreign Key Field at the Click of a Button
152(1)
Dealing with Threats to Referential Integrity
152(17)
Threat #1: User-Assigned or Editable Primary Keys
152(1)
Threat #2: Deletion of a Parent
153(3)
Collecting, Rather than Deleting, Contacts When Their Company Dies
156(5)
Using a Delete Table
161(3)
Threat #3: Users Messing with Menus
164(1)
Threat #4: Users Messing with Layouts They Shouldn't See or Use
165(1)
Threat #5: Users Creating Incomplete Parent Records from Within the Child
166(1)
Threat #6: Importing a Parent or Child Record
167(2)
Maintaining a Unique Compound Primary Key
169(3)
Weaknesses
170(1)
How You Create the Interface Can Help Validate
171(1)
Alternate Approach to Validation
171(1)
Testing for Valid Referential Integrity
172(1)
Keeping Your Data in Good Shape
173(40)
Keeping Your Data Healthy
174(1)
Why Good Data Goes Bad
174(1)
Enabling Accuracy
174(2)
The Dream: Complete Accuracy
176(5)
Offering Lists of Choices
176(1)
Pop-Up Lists
176(1)
Pop-Up Menus
177(1)
Radio Buttons
178(1)
Check Boxes
179(2)
Perfecting the Interface of Radio Buttons and Check Boxes
181(1)
Conditional Value Lists
181(4)
Having FileMaker Automatically Enter Information
185(4)
Lookups
189(3)
Allowing or Preventing Entry in Fields
192(5)
Having FileMaker Check for Accuracy
197(11)
Of Type
198(1)
Not Empty
198(1)
Unique
198(1)
Existing
199(1)
Member of a Value List
199(1)
In a Range
199(1)
By Calculation
199(3)
Validating Social Security Numbers
202(2)
Not Allowing Users to Override the Validation
204(1)
Displaying a Message if Validation Fails
205(1)
Validating Global Fields
205(1)
Conditional Validation
206(2)
Preventing Users from Editing a Record After It Has Been Created
208(1)
Adjusting the Tab Order to Suit the User's Habits
209(1)
Extra Carefulness: Keeping Carriage Returns Out of the Data
210(3)
Crafting the User Interface
213(36)
The Interface Is All There Is--for Users
214(1)
Let Users' Tasks Shape Your Design
214(1)
Decide Which Layouts to Focus On
215(2)
Use Tabs for Convenience and Clarity
217(1)
Use Menus if You Must
218(2)
Combine the Best of Both Approaches
220(1)
Decide on Your Default Views
220(2)
Fit Information into a Single Record View
222(2)
Unfold Minor Information Gradually
224(1)
Distinguish Groups of Information by Their Functions
224(6)
The Main Idea
224(1)
Setting a Customer
225(1)
Add Text to Clarify the Purpose of Layouts and Areas
226(2)
Yes, You Should Include Lists
228(1)
Make Your Own Sort Buttons
228(1)
Use Color and Graphics to Indicate Functionality
229(1)
Prepare for Consistency
230(7)
Make Your Layouts Look Stable
230(1)
Set the Default Formatting for Text and Graphics
230(2)
Let FileMaker Help You Keep Formats Consistent
232(1)
Make Objects Line Up Consistently
233(4)
Make Data Entry Easy
237(1)
Never Have the Users Do What the Computer Can Do for Them
237(1)
Go With the User's Flow
238(1)
Signal Exactly Where to Enter Information
238(1)
Design Meaningful Buttons
238(3)
Arrange Buttons in Functional Areas
240(1)
Print the Reports the Users Expect
241(2)
Describe Printing the Way Users Do
242(1)
Test Prototypes and Get User Feedback
243(2)
Use the Interface Prototyper
245(4)
Buttons and Tabs
246(1)
Tabs Within Tabs
247(1)
Main Menu
247(2)
``Webifying'' Your Database
249(24)
Letting People Interact with Your Data
250(1)
How FileMaker Came to the Web
251(3)
Choosing Between Instant and Custom Web Publishing
254(1)
Instant Web Publishing
255(5)
Custom Web Publishing
260(4)
How Links Work
260(1)
How Links Differ from Forms
261(1)
How Forms Work
261(2)
Creating an Error Page
263(1)
Understanding Security
264(1)
How to Plan for Web Delivery
264(2)
Putting Your Database Directly on the Internet
266(1)
Exporting Data as HTML Pages with the Results of Calculations
267(2)
Creating Detail Records
269(2)
Using Lasso to Go Beyond the Web Companion
271(2)
Hot Calculations
273(68)
Why Calculations Can Get Hot
274(1)
Welcome to the Formula
274(1)
Mathematical and Financial Calculations
275(4)
Using Rounding to Avoid Errors in Summaries
275(2)
Using the Int and Mod Functions to Get Whole Numbers
277(1)
Calculating Payments
278(1)
Text Calculations
279(15)
Taking Apart a Text String to Reformat It
281(2)
Putting Together a Full Address
283(1)
Using Overlapping Fields to Simulate Typing in a Calculation Field
284(3)
Overlapping Fields to Mimic Conditional Text
287(2)
Using the PatternCount Function to Spot Values
289(1)
Extracting the Prefix to the Name, First, Middle Initial, Last Name, and Suffix to the Last Name
290(4)
Data Calculations
294(11)
Calculating How Long It's Been Since the Last Contact
294(1)
Calculating the Next Appointment Date
295(6)
Breaking Apart a Date for Subtotals
301(4)
Time Calculations
305(2)
Calculating the Total Amount of Time
305(2)
Conditional Calculations
307(5)
Comparing IF, Case, and Choose Statements
307(2)
Using IF Statements for a Multi-Column Report
309(1)
Using IF Statements to Extract the Choices of Radio Buttons
310(2)
Calculations with Container Results
312(1)
Flagging Key Items for Management with Graphics
312(1)
Creating a Fully Formatted Document for Database Publishing
313(3)
Calculating with Check Boxes
316(10)
Sorting Check Box Items and Converting Values to a Comma-Separated List
317(3)
Allowing the User to Modify Standard Text
320(1)
Doing a Mail Merge on a Text Field
321(2)
Doing a Search-and-Replace Within a Field
323(3)
Generating Random Numbers
326(3)
Creating a Bar Graph
329(2)
Exporting or Importing Fixed-Length Records
331(7)
Exporting to Fixed-Length Records
331(2)
Importing Fixed-Length Records
333(2)
Custom Delimiter
335(3)
Handling Aggregate Functions
338(3)
Reporting
341(54)
Layouts at the Heart
342(1)
Using the Report Wizard
342(1)
How Layout Parts Work
343(3)
Sub-Summaries
344(1)
Title Header and Header
344(1)
Leading Grand Summary
344(1)
Leading Sub-Summary
345(1)
Body
345(1)
Trailing Sub-Summary
345(1)
Trailing Grand Summary
345(1)
Title Footer and Footer
345(1)
How FileMaker Figures Out What to Put Where
346(2)
Creating Summary Reports
348(7)
Generating Reports with Subtotals by Month or Quarter
354(1)
Putting Sub-summaries on Every Page
355(2)
Using Sub-Summaries Without Summary Fields
357(1)
Using the GetSummary Function in a Calculation Field
358(3)
Where Should You Report From?
361(5)
Printing from the Parent
361(2)
Printing from the Child
363(2)
Many to Many
365(1)
Interesting Reporting Techniques
366(12)
Providing the User with Editable Report Headers and Footers
366(1)
Creating a Script to Allow the User to Perform a Search as the Basis for a Report
367(6)
Taking Advantage of Fixed Page Margins for Multiple Printers
373(1)
Finding the Median in Subtotals and Grand Totals
374(4)
Variations in Effect
378(17)
Print or Preview
379(2)
Browse Mode-View as Form
381(1)
Browse Mode-View as List
381(14)
Dumb Portal Tricks
395(26)
What Shows Up in a Portal--and How
396(1)
Dumb Portal Trick #1: Lets You See in a Portal All Records from Another File
396(2)
Dumb Portal Trick #2: Lets You Use Conditional Value Lists with Portals
398(3)
Dumb Portal Trick #3: Highlights Selected Items in Portals
401(2)
Dumb Portal Trick #4: Moves Records from One Portal to Another
403(2)
Dumb Portal Trick #5: Uses Calculated Multivalued Keys to Filter Which Child Records Show Up in the Parent Record
405(1)
Dumb Portal Trick #6: Moves Portal Rows and Inserts a Portal Row
406(6)
Dumb Portal Trick #7: Allows the User to Choose the Sort Order in a Portal
412(2)
Dumb Portal Trick #8: Makes the Portal Disappear!
414(3)
Dumb Portal Trick #9: Uses a Portal to Control Access to Records in Another File
417(4)
Filtering the Records
418(1)
Allowing Users to Edit
419(2)
The Joys of Self-Joins and Other Interesting Relationships
421(22)
The Miracle of a Self-Join
422(4)
Assembly-Subassembly, a.k.a. the Hamburger Example
426(5)
Many to Many to Many
431(4)
An Outer Join
435(8)
The Not-So-Hot Button
436(1)
A Hotter Button
437(6)
III Scripting
Scripting
443(38)
The Benefits of Scripting
444(1)
Creating and Editing Scripts
444(4)
Good Scripting Practices
448(5)
Naming Your Script
448(2)
Add Comments
450(1)
Modularize Your Scripts
450(3)
Write Once, Run Many Ways
453(1)
Startup Scripts
453(5)
Startup Part 1: Open All the Files and Maximize the Windows
454(1)
Startup Part 2: Decide What to Do with the Status Area
455(1)
Startup Part 3: Go to the Right Layout
455(1)
Startup Part #4: Show All and Unsort
456(1)
Startup Part #5: Initialize Those Variables
456(1)
Startup Part #6: Show a Welcome Screen, if You Have One
457(1)
Startup Part #7: Set Page Setup/Print Setup, if Users Can Select Print from the Menu
457(1)
Startup Part #8: Create a Log of Who Enters This System and When
458(1)
Startup Script
458(1)
Shutdown Scripts
458(1)
Close All Files in the System
459(1)
A Shutdown Script
459(1)
Scripts to Help Users Navigate Among Layouts
459(2)
Make Sure You Know What Mode You Are In
459(1)
Go to the Right Layout
460(1)
Initialize Any Variables You Need
460(1)
The show_data_entry_notes Script
460(1)
Scripts for Navigating Among Parents and Children
461(4)
Child-to-Parent Navigation
461(2)
Parent-to-Child Navigation
463(1)
Parent-to-Parent Navigation in a Many-to-Many Relationship
464(1)
Scripts That Delete
465(3)
Deleting a Parent
465(1)
Deleting a Child
466(2)
Scripts for Creating New Records
468(1)
Easy Example of Creating New Records
468(1)
The new_invoice script in Invoices
468(1)
Scripts for Sorting
468(2)
To Ascend or Descend
469(1)
Returning the User to the Original Record
469(1)
The sort_by_date_of_invoice Script
470(1)
Scripts for Reporting
470(3)
The capture_id_of_found_set_of_customers Script
471(1)
Capturing the IDs of the Current Invoices
472(1)
Printing, at Last
472(1)
The print_ar_aging_by_customer Subscript in Invoices
472(1)
The print_ar_aging_by_customer Script in Customers
473(1)
Scripts Asking Users What They Want to Print
473(1)
The print_invoice_button Script Behind the Print Button
474(1)
Scripts for Preparing Canned Finds
474(2)
Scripts That Duplicate Records
476(1)
Handling Button Actions in Your Scripts
476(5)
Troubleshooting a Script
481(16)
Looking for Trouble
482(2)
Interrupting with Pause
482(1)
Interrupting and Showing Messages
482(1)
Halting the Script at Different Places to See Whether It Worked so Far
482(1)
Writing Script Results to a Log Field or File
483(1)
Beeping at Yourself
483(1)
Using Analyzer--A Two Thumbs Up Product
483(1)
Printing the Scripts
484(1)
Scripting Gotchas
484(13)
IV Reaching Out
Integrating FileMaker, Expanding Its Reach
497(22)
FileMaker at the Center
498(1)
Examples of the New Connectivity
499(1)
Salespeople on the Road
499(1)
Furniture Inventories on the Hoof
499(1)
Upscale Furnishings
500(1)
Press Office
500(1)
How FileMaker Connects
500(5)
Different Ways of Connecting with FileMaker
501(1)
Platforms
501(1)
Wireless PDAs, PDAs, Pagers, and Cell Phones
502(3)
Taking Advantage of Industry Standards for Data Exchange
505(1)
Using ODBC, JDBC, and Java
506(11)
Making FileMaker Pro a Data Source for ODBC Applications
506(3)
Getting ODBC Data Out of FileMaker
509(2)
Importing ODBC Data
511(5)
JDBC and Java
516(1)
Going from HTML to XML and WML
517(1)
And Don't Forget Reports
518(1)
FileMaker Pro Multiuser Design and Deployment Considerations
519(14)
The Idea of Multiple Users
520(1)
Designing Multiuser Files
521(2)
Deploying Multiuser Files
523(1)
FileMaker Server
524(4)
Defining Fields as Sole Guest
527(1)
Safe Hosting
527(1)
Multiuser Deployment, Design, and Networking Tips and Pitfalls Checklist
528(5)
Index 533

An electronic version of this book is available through VitalSource.

This book is viewable on PC, Mac, iPhone, iPad, iPod Touch, and most smartphones.

By purchasing, you will be able to view this book online, as well as download it, for the chosen number of days.

Digital License

You are licensing a digital product for a set duration. Durations are set forth in the product description, with "Lifetime" typically meaning five (5) years of online access and permanent download to a supported device. All licenses are non-transferable.

More details can be found here.

A downloadable version of this book is available through the eCampus Reader or compatible Adobe readers.

Applications are available on iOS, Android, PC, Mac, and Windows Mobile platforms.

Please view the compatibility matrix prior to purchase.