Today we will explore the option of using the contacts starter solution that comes with FileMaker Pro and FileMaker Pro Advanced and expanding it to meet our needs. In short we will expand the Contacts Template to a Relational Database.

On March 12th. we briefly discussed what an awesome job FileMaker has accomplished with the 16 starter solutions available in FileMaker Pro and FileMaker Pro Advanced.

The starter solutions are templates that provide a starting point to accomplish different tasks, be they business, academic, or personal. In many cases, they are at a stage that may handle the tasks to the degree an individual has need for. In other cases, they can be expanded to accomplish almost anything.

Last time we worked on the Contacts Template and added a Next Call Reminder date and note fields. To expand on this a bit, it would be nice to have a record of all your communications with a contact. There are lots of ways this could be accomplished and my illustration is only one of them. Lets take this in steps. The beauty of this approach is that you can use these steps over and over again in different solutions or on different layouts within that same solution as needs arise.

First thing I want to do is to turn our Contacts Template into a Relational Database. Over the next few blog posts we are going to add:

  • A Communications table.
  • Fields to the table that are appropriate.
  • Changes in the relationship graph that will establish the relationships in
  • contacts and communications that are needed.
  • A Popover for adding dates and notes.
  • A Script for the popover.
  • A Script trigger.
  • A portal that will track communications with each contact.

I will start with adding a communications table with fields we will need as shown in Figure 1.2

Now that we have a communications table, I enter Manage Database. After opening the Relationship Graph, I will connect the contacts table with the communications table using the match fields.

Note that the little box between the two tables. When I double click on it, it reveals the defined relationship. In this application we are using CONTACTS ID MATCHING UUID FIELD in the Contacts Table equals CONTACTS ID MATCHING UUID FIELD in the Communications Table.

The relationship between the two looks like Figure 1.4

Having accomplished this we now have a relational database. The relationship is between the contacts table and the communications table.

The next steps will be a little more involved. We will add a popover that will create a date and notes for our fields. This will require a new type of relationship that will be based on a table occurrence as opposed to a traditional table. We will also need script triggers and scripts to automate our additions. Until then have fun with FileMaker

Bob Kelley