FileMaker Go for the iPad/iPhone has arrived!

July 20th, 2010
Use an iPad or iPhone? Have we got news for you!

FileMaker GoFileMaker Go is now available from the Apple Store for iPad ($39.99) and iPhone ($19.99).

This incredible app lets you easily view, edit and search your FileMaker database as you travel, go on appointments or check on the office from home.

Open your database—it just works! Most solutions are supported with no modifications!
Directly open hosted FileMaker Pro databases from your FileMaker Server.
Easily transfer your FileMaker files to your device using iTunes or email.
Existing layouts look the same—Portals, Tab Controls, Web Viewers, External SQL Data Sources.
Gesture away! Pinch, swipe, tap and double-tap controls and menus.
Conveniently open more than one database in multiple windows.
Call and schedule a consultation with us at (845) 758-1360 to discuss how the new FileMaker Go features can extend your database solution’s reach and improve your organization’s productivity—both in the office and on the go!

The New FileMaker 11 Chart Tool

March 9th, 2010

FileMaker 11 has a great new Chart tool that allows you to add dynamic graphs to your database. Until now, the only way to dynamically display data charts and graphs from within FileMaker Pro was by using 3rd-party plug-ins or a web-viewer and web service. The new chart tool will display data from the current record, the current table, or a related table. It supports bar, horizontal bar, line, area and pie. There are a number of useful formatting options available.

In the example below, I’m charting sales orders. I already have an Order Total field that holds the total $ amount for all items, taxes and shipping on each order. I want to summarize the sales numbers, showing the total sales in dollars for each sales person, or total sales per showroom. To do this, I will add a summary field to my Orders table:

This field is totaling the total of each order. When I sort my Orders by Salesperson, the summary field will show the total of all orders by a given salesperson. If I sort by showroom, it will show a total of all the orders from that showroom.

For the vertical axis, I’ve selected my summary field, OrdersTotal:

For the Y axis I’m using the SalesRep’s NameFirstLast. If you have a number of data points, you will want to click Format Chart, select the Y axis, and change the label angle to 45 or 90 degrees.

After sorting my Orders by SalesRep LastName and SalesRep Firstname, I get my Graph:

I can build another graph with Showrooms on the Y axis, and show an up-to-date chart by sorting on Showroom.

Portal Filtering with FileMaker 11

March 9th, 2010

Clearly the introduction of charts is one of the more visually compelling additions to the latest FileMaker release. But if you use portals in your solution to any degree, the new ability to filter those records efficiently and dynamically is perhaps one of the more functionally compelling.

Every FileMaker portal, including those in FileMaker 11, requires a table occurrence referencing a related table and a relationship between it and the table occurrence supporting your layout.  At the most basic level, if you wanted to view all invoices for a specific customer, you would build a relationship between your Customers table and your Invoices table based on the customer’s unique ID. But suppose you wanted your portal to just list those invoices that were outstanding, or all those that were more than a specific amount. To solve this, typically you would create a new table occurrence and relationship based on the filtered data you want to view.  And then, of course, you would have to point the portal to the new relationship. There are ways around this of course with some more robust programming, but a quick and easy approach is not quite possible.

FileMaker 11 introduces Portal Filtering which solves these problems and the results are impressive.  Enter layout mode, double click on your portal, and you find a new checkbox labeled “Filter Portal Records”, with a “Specify” button.  Click on the button and you are presented with the familiar calculation engine interface where you can specify the filter criteria. So let’s say you want to view only those invoices that are greater than $1000.00. Simply enter “Invoices::InvoiceAmount > 1000” into the engine and voila. When you re-enter browse mode your portal records are filtered accordingly and you never even opened up your database manager.

Now of course the example above is incredibly simplistic and still requires you to go back and forth between the portal setup window and your live application to obtain the filtered.  And of course we don’t necessarily want all of our users to be doing such things, whether we’ve provided them that level of access or not. Because the filtering is supported by the calculation engine, your ability to automate the filtering process for your users is incredibly broad.

Let’s say we want to filter the portal to only those records with a particular status. We can setup a few buttons that set global variables to filter those records with a single click. First, create a simple script with two steps. The first step will be “Set Variable”, which will set the global variable $$InvoiceStatus to the status we want to filter by. We’ll send that status as a script parameter when we click on the button, so set the value here to “Get(ScriptParameter)”. The second step will be “Refresh Window” with “Flush Cached Join Results” checked. This is necessary for a redraw of the layout, otherwise the portal will not visually update itself with the new set of filtered records. Save the script as “Set Portal Status” and return to the layout.

Next, create three buttons, labeled “Open”, “Paid” and “Overdue”, and place them in the layout above the portal. In the button setup dialogue for the “Open” button, click on “Run Script” and select “Set Portal Status” and as a script parameter, enter “Open”.  Follow the same procedure for the other two buttons, but change the script parameter to the appropriate status.

Finally, return to your portal setup, check the “Filter Portal” checkbox, and enter “Invoices::Status = $$InvoiceStatus”.  When you return to browse mode, clicking on any of those buttons will automatically and immediately filter your portal records accordingly.