I’m trying to build a FileMaker Pro 11 layout that excludes records containing a certain value. The relevant data is in table Invoice. I want to filter so that Invoice records whose “Invoice Check Grouping” field is blank are not displayed on the layout.
I’ve added a global field to the invoice table called “Blank Invoice Check Grouping” to use as my filter criteria. I’ve created a self-join relationship to the Invoice table, joining “Invoice ID” to “Invoice ID” and joining “Invoice Check Grouping” to “Blank Invoice Check Grouping”. The resulting table is named “Invoice Check Groupings”.
The layout which I build based on table “Invoice Check Groupings” shows all records in Invoice–it does not filter out those with blank values. What am I doing incorrectly?
Thanks,
Ben
Layouts show records in a table (or more accurately, a table occurrence) and don’t directly deal with related data. As mentioned by @pft221, you can use relationships for filtering, but only when viewing data through a portal.
If you always want a particular layout to show data based on a particular find, you can do so with a script and a script trigger. First set up a script to do the following:
Note that you can also embed the find request within the Perform Find script step, but I tend to script finds in the above manner as it’s easier to see what the find request is in the script and variables can be used in the find request.
Now you need to set your layout to execute this script whenever it’s loaded. Go to the layout and enter Layout Mode. Select Layouts>Layout Setup from the menu bar. Click the Script Triggers tab and check the box for OnLayoutEnter and select the script you wrote above. Now whenever the layout is entered, that script will run and exclude the records that have that particular field being empty.