It's time to roll up your sleeves and actually put FileMaker Pro to use. Most of this book deals with being a FileMaker developersomeone who is focused on the programming side of creating and managing FileMaker solutions; however, ironically, development composes only a small percentage of the overall time a given database gets used. Much of the time a FileMaker solution will simply be in use, and its users will care nothing for scripting, calculations, or the vagaries of user interface design. They will simply be involved with working with a developer's creation and will not need to know anything of the programming side of FileMaker.
Becoming facile in working with FileMaker databases will prove quite helpful in allowing you to quickly access the information you want and to understand the underpinnings of any database, regardless of user interface.
This chapter introduces you to how to make the most of FileMaker databases that have already been built. All FileMaker databasesoften called solutions, systems, or applicationshave certain common elements, and becoming adept at using FileMaker Pro solutions will not only help you manipulate and analyze data better, but also assist you in extending what you can accomplish with that data. We'll cover some broad concepts at first, move into the nuts and bolts of working with databases, and finally wrap things up with some techniques to help you become a FileMaker Pro power user.
One quick note before we begin: This chapter assumes that you want to learn as much as you can about FileMaker Pro. Although the concepts and functions described can be fairly basic (how to open a database, for example), this chapter covers a fair number of advanced topics as well. This chapter is a good place to start if you're unfamiliar with FileMaker Pro, or if you still don't quite feel comfortable using a FileMaker Pro database.
Before going much further, we need to be clear on some basic FileMaker Pro vocabulary. Databases store collections of information, and one of their primary functions is to properly identify the information they store. It's not enough to simply save the text strings "Pink Floyd" and "Dark Side of the Moon" in a file. For a database to be useful, you need to know that Pink Floyd is a band and that Dark Side of the Moon is an album (one of the greatest of all time!).
For a database to fulfill its primary function, a developer needs to have properly identified all the appropriate elements of information you or your organization wants to store and use. It is in these identifications that information becomes meaningful.
Records and Fields
Databases store information about one or more kinds of entities. For example, a database might store information about music albums, or musicians, or guitar manufacturers. In FileMaker, each individual item is referred to as a record. So in a database of music CDs, each record represents an individual CD.
To track the attributes of items or specific informationfor example, Dark Side of the Moon's release date of March 24, 1973fields are defined specific to each type of item. These fields hold and also identify the type of information found for each record. Examples of fields that might be found in the music CD database are release date, recording studio, and so on.
In FileMaker Pro you will be working with a specific individual record at a time and will be viewing (and storing) information from that record's fields.
For those of you familiar with SQL, a row corresponds to a record in FileMaker Pro, and a column corresponds to a field.
For more information on SQL and how it relates to FileMaker Pro, see Chapter 20, "Exporting Data from FileMaker," p. 595.
It's important to have a grasp of what a table is when you're working with FileMaker Pro.
Simply stated, a table is a collection of like records. You might have one table of automobile model records and another table of manufacturer records. Miata would belong in the automobile table, and Mazda in the manufacturer table. From the music example, music albums would belong to one table, musicians to another, and genres to another. An album isn't a genre, nor are musicians the same as the albums they create.
For the purposes of using FileMaker Pro, you need to remember one thing: Every layout (a view or form for data) in FileMaker Pro is associated with a specific table. If you're looking at a layout with a picture of a Mazda Miata, and fields that break out the attributes of that car, more than likely you're in an automobiles table. If you're seeing a layout with "Mazda" at the top and multiple car models listed, you're more than likely in the manufacturer table. This will come into play later in the chapter when you begin working with multiple records and found sets.
To explore working with multiple recordsets, see "Working with a Found Set," p. 51.
In FileMaker Pro, you can have as many tables in a single file (.fp7 document) as you need: FileMaker 8 is a relational database platform. Versions of FileMaker since version 3's introduction in 1995 were also relational, but earlier versions allowed only one table per file.
Before FileMaker 7, database solutions would often be collections of files and require that you open all these multiple files at once to use a solution. In FileMaker 8, you can consolidate solutions into single files with multiple tables.
To dig deeper into working with multiple tables and understanding relational data models, see Chapter 6, "Working with Multiple Tables," p. 157, and Chapter 5, "Relational Database Design," p. 129.
FileMaker Pro Navigation
One of the first things you'll want to do when you open a database in FileMaker Pro is navigate the various screens, called layouts, that a developer designed as the interface for the database. Using these layouts, you can view records, enter data into fields, see reports, run scripts, and more.
In addition to the menus common to all software applications, there are two important work areas to distinguish from one another in a FileMaker Pro database: the Status Area on the left and the Layout area on the right (see Figure 2.1).
Figure 2.1. These are the primary areas of all FileMaker Pro databases; in some cases, however, a developer might have hidden the Status Area.
Note that the menus and menu items you see in your FileMaker database may well be quite different from those you see in the screenshots in this book or in other FileMaker solutions. FileMaker Pro 8 Advanced includes a feature to customize menus, and the developer who created the file you are working with may have changed its menu set from the standard.
Most FileMaker Pro databases open to a data-entry layout. Generally you have access to fields, commonly designated by a field border or embossing of some kind (depending on the aesthetic design or dementia of the database's developer), or you may come across a layout used for reporting purposes only. Figures 2.2, 2.3, and 2.4 illustrate just a few examples of layouts you might find with databases created in FileMaker Pro.
Figure 2.2. FileMaker's built-in starter solutions offer a simple, clean interface. Shown here are a form layout (one record per screen) and a list layout (multiple records per screen).
Figure 2.3. FileMaker applicationscommercially available database solutions from FileMaker, Inc.demonstrate the possibilities of more feature-rich systems. (Screenshots provided by permission of FileMaker, Inc.)
Figure 2.4. Here's a bit of a departure from the staid designs of typical productivity applications. FileMaker offers a wide range of layout possibilities.
The Status Area
The Status Area serves as a primary control center for FileMaker Pro. In Browse modethe state in which all data entry and general use occursthe Status Area displays a book icon and other elements for navigating a database solution.
FileMaker Pro has four modes, which we'll explain later in this chapter. For now, note that the Status Area changes appearance and function depending on which mode you're using. In Find mode it allows access to search functions and special search wildcard characters. In Layout mode the Status Area contains most of the tools used for defining the look and feel of your database.
Figure 2.5 details the various elements of the Status Area, as it appears in Browse mode.
Figure 2.5. Note the various functions of the Status Area in Browse mode. To jump to a specific record, type a number into the record number field and press Enter.
The elements of the Status Area include the following:
You'll notice something missing from FileMaker Pro: back and forward buttons. It's important that you not confuse the book icon with such. The book icon enables you to page back and forward through your data as opposed to paging through your layouts in Browse mode.
Some users familiar with the Web will wrongly expect the book icon to step forward and back through their navigation history within a database.
FileMaker Pro Modes
You'll interact with your FileMaker Pro databases via one of four modes. At times, developers choose to tailor a layout for use with a specific mode, but more often than not, layouts can be effectively used with all four. To switch between modes, use the View menu.
To familiarize you with the four modes, here's a simple description of each.
You can change modes in four other ways: You can use the menu at the lower left of your screen, you can use the mode tabs at the top of the Status Area, you can use various functions and/or buttons that a developer may have programmed to switch modes, and you can use keyboard shortcuts (listed under the View menu).
In addition to the modes of FileMaker Pro, there are three views as well. A view is a particular way of displaying record data on the screen. To change between them, use the View menu as well. These are the three views:
Figure 2.6. Form view is usually where most data entry is performed.
Figure 2.7. Notice at the bottom of the screen that List views can also include summary data.
Figure 2.8. In Table view you can automatically resize, move, and sort with column headers.
Notice that we've largely been talking about fields on layouts. Most FileMaker Pro solutions also include buttons. Figure 2.9 shows a few examples.
Figure 2.9. Buttons can come in all shapes and sizes in FileMaker Pro. Text can be a button, a field can be a button, and even just a mysterious blank area in the middle of a layout can be a button.
Buttons trigger actionsoften by launching scripts that developers writeand are specific to a given FileMaker Pro database. Buttons can perform dozens of actions, such as creating a new record, deleting a record, navigating to another layout, performing a calculation, performing a find request, controlling windows, and even spell-checking and emitting a simple beep. The possibilities are nearly endless.
You'll need to become familiar with the specifics of a given FileMaker Pro solution to come to understand what its buttons do. The person who built the system should have those details, or should have provided some form of training or documentation.
Tab Control Objects
Another element you'll work with on layouts is the new Tab Control object introduced in FileMaker 8. With it, developers can create multiple panes of information on a single layout, as shown in Figure 2.10, and users can flip from pane to pane as they need. Each tab pane displays information from the same record: Think of it as extending the amount of screen real estate you can view at any given time.
Figure 2.10. The Tab Control in FileMaker 8 allows you to organize and view data for a given record without having to scroll or move to other layouts. Note the three tabs shown here for Inventory, Picture, and Navigation.
Part I: Getting Started with FileMaker 8
Using FileMaker Pro
Defining and Working with Fields
Working with Layouts
Part II: Developing Solutions with FileMaker
Relational Database Design
Working with Multiple Tables
Working with Relationships
Getting Started with Calculations
Getting Started with Scripting
Getting Started with Reporting
Part III: Developer Techniques
Developing for Multiuser Deployment
Advanced Interface Techniques
Advanced Calculation Techniques
Advanced Scripting Techniques
Advanced Portal Techniques
Debugging and Troubleshooting
Converting Systems from Previous Versions of FileMaker Pro
Part IV: Data Integration and Publishing
Importing Data into FileMaker Pro
Exporting Data from FileMaker
Instant Web Publishing
FileMaker and Web Services
Custom Web Publishing
Part V: Deploying a FileMaker Solution
Deploying and Extending FileMaker
FileMaker Server and Server Advanced
Documenting Your FileMaker Solutions