In Filemaker, it’s all about relationships. In order to make your data fly, it’s a good idea to break out the data into appropriate tables. For example, if you’re running a small business, instead of putting all your data into one massive table (or spreadsheet), you may want to create a few basic tables, and then relate them all to each other. Common tables would be: Clients, Projects, People, Invoices, Line Items, Payments, etc.
That way, if you were able to attach People to a Project via a relationship, you would be able to see all the People that belong to a Project when viewing that Project. Better yet, if you happened to change some data in the Project record, it would be reflected in their related People records right away too. This is because you’re not duplicating any data. The Project information exists only in one place, in one record (the Project record), and is simply displayed in any other area of the database that is related to that Project record — such as the People involved with that Project.

So far, so easy. The above scenario is called a One-To-Many relationship, because it’s set up so that one Project can be related to many People. But what if somebody in the People table is involved in more than one Project? The One-To-Many relationship will not allow that.
This is a problem, because in real life, Larry may very well be in charge of Project A, and Project B, and perhaps also involved with Projects T, U, and V in various other roles. Since we cannot set up a many-to-many relationship directly between two tables, we need to basically add another table in-between the original two. This new table (we’ll call it Roles for this example) joins the two original tables, and because of its one-to-many hookups to both People and Projects, it becomes a de facto Many-To-Many conduit between People and Projects.

This is because each record in the Roles table represents an instance of some Person fulfilling a certain Role for a Project. Since we can add as many Role records as we like, as long as each one’s linked to both a Person and a Project, we can put as many people on any project as we like, and we can also link as many projects to any one person as we like.
Also, since they’re linked, and because Filemaker’s relationships are both deep and bi-directional, this means that we don’t wind up duping Project or People info anywhere, yet we can display it appropriately on any and all People or Projects reports.


Pretty straightforward. First, go to Preview mode so that Filemaker formats your report exactly as it will be printed. Then while in Preview mode, go to the last page of the report. Third step, set your global field (LastPage) to the current page number value, and finally, return to browse mode.
The final bit of using this script, is to make sure you have the correct text on the layout itself. The page number itself is displayed by using a Page Number Symbol (##), and the last page number is displayed by showing that global field we set up earlier (LastPage). The example shown in the image here, Page ## of <<GLOBALS::LastPage>> is how I usually set it up in the footer, right aligned.
Other times, it’s great to be able to not view just one record, but indeed, a whole bunch of them together. This is normally done in a List View. Oftentimes, it’s ideal to have both a Detail layout and a List layout, and the ability to easily toggle between the two. Perhaps obvious, but I’m still surprised by how many solutions do not have the detail/list toggle functionality built in from the get-go. A good rule of thumb is that you should have a useful working List view for every table in the system, and for the more important tables, also a Detail view.
Although you can print any layout in Filemaker (just hit the Print command), it’s best to differentiate between layouts optimized for on-screen viewing and editing (Detail and List layouts for instance), and other layouts dedicated specifically to look great when you run the print command. There is after all quite a difference between what looks good on screen and what looks good in print. Going the extra mile and setting up a group of Print layouts in your solution will be the difference between an OK system, and a very useful (and professional) one. Basically, if any of the users would ever want their data to be on paper, set up an appropriate Print layout for that type of sheet or report, and allow the user to initiate that printing process from their Detail or List layouts.



