There is a feature in BaseElements where you can access any Analysis from any other solution by calling a script inside BaseElements. This is a neat feature for those people who use other FileMaker based project management tools and allows you to build a link into BaseElements for the current analysis of your FileMaker solution.

But there is also the ability to access the data tables inside the BaseElements_Data file, which means you could build your own UI using the BaseElements data and access it any way you want. This could be really neat for managing your solutions, but there is no way to link to the correct layout in the BaseElements UI file for any record that you’re viewing the data for.

BaseElements 3.0.11 adds a new feature where there is a script you can call with layout and field details, and BaseElements will go to that layout and perform the find for you. This effectively gives you the ability to link to records in the UI file which you otherwise would not have. The actual data tables are all in the Data file, so a GTRR will let you go there, but there’s nothing useful to see.

To get this working, there is a script in the main BaseElements file called “External: Go to Related Records” which you can call with parameters to set which layout to go to and which fields to search, along with which values to find in those fields. This script is modifiable, so you can see for yourself what it does, and make changes if required. The bonus is that it won’t be changed in future releases, so you can call this script from other files and it will remain the same.

The parameters are a list of values you want to use. The first item is the layout name. All of the remaining values are in name-value-pair format according to our previously published examples. So for example, to go to the layout called “MyReport” and search for “abc” in the field called “widgetname”, you would use the following as your parameter :


I’ve attached here a sample file containing scripts that do this for you, along with examples of Custom Functions we’re using to set and retrieve these name value pairs.