Installation Script for MBS Plugin for FileMaker Servers with MacOS

Over the last years we had various instructions to install MBS Plugin on a FileMaker Server. Today we have a new way: an installation script macinstall.sh.

This script downloads the MBS Plugin and install it. We put a lot of effort into making this secure and verify that the plugin is correct one. Especially we try to

  • avoid installing the macOS plugin on Linux/Windows by accident,
  • avoid installing the wrong plugin if we mixed them up server side,
  • avoid installing a half downloaded plugin or an error page.

This script is to help macOS Server administrators and we may improve it based on your feedback.

(more)

Installation Script for MBS Plugin for FileMaker Servers with Linux

Over the last years we had various instructions to install MBS Plugin on a FileMaker Server. Today we have a new way: an installation script linuxinstall.sh.

This script downloads the MBS Plugin and install it. We put a lot of effort into making this secure and verify that the plugin is correct one. Especially we try to

  • avoid installing the Linux plugin on macOS/Windows by accident,
  • avoid installing the wrong plugin if we mixed them up server side,
  • avoid installing a half downloaded plugin or an error page.

This script is to help Linux administrators and we may improve it based on your feedback.

(more)

Three days till year's end

The year 2025 will end in around three days. Do you need some more licenses?
  • You can order licenses for 2026 or later and have delivery plus payment done in 2025.
  • And of course you can order updates for several years in advance for all your MBS products.
  • As all Xojo plugin, LibXL and DynaPDF licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
  • For FileMaker please check if you have enough license for the number of seats or servers you have in use.
Especially if you run on a budget and you want to spend some money in 2025, you can buy updates for several years in advance.

Merry Christmas

Frohe Weihnachten und ein gutes neues Jahr!

Merry Christmas & Happy New Year

Joyeux Noël et Bonne Année

Buon Natale e Felice Anno Nuovo


Franziska, Sebastian, Michael, Monika & Christian Schmitz

MBS FileMaker Advent calendar - Door 24 - Insert or Update

Monkeybread Monkey as an elf
christmas tree Door 24
Insert or Update
christmas tree

Welcome to the last door of the Advent calendar. Today, we would like to take a look at a function in MBS that is particularly popular with users: FM.InsertOrUpdateRecord. This function means that we don't always have to decide whether a data record needs to be inserted if it doesn't already exist, or whether it already exists and just needs to be updated. The function makes this decision for you. It checks whether the entry already exists in the database. If so, it updates the data record; otherwise, it creates a new data record.

This is what the structure of the function looks like:

MBS( "FM.InsertOrUpdateRecord"; FileName; TableName; IDField; IDValue; FieldName...; FieldValue... )  
(more)

MBS FileMaker Advent calendar - Door 23 - Dictionary

Monkeybread Monkey as an elf
christmas tree Door 23
Dictionary
christmas tree

Welcome to door 23. We have already seen that we can turn an SQL result into JSON, XML, a matrix, CSV, or text. Now I would like to introduce you to another data structure: dictionaries.

These dictionaries are key-value pairs. Instead of addressing values via positions or sequences, you access the desired data directly via a meaningful key. This allows related information to be stored in a clear and structured manner. In addition, dictionaries are very fast at querying data, making them ideal for intermediate results. Today, we want to look at how we can fill such a dictionary with data using SQL. To do this, we have the functions Dictionary.AddSQLRecord and Dictionary.AddSQLRecords. Both functions are very similar in structure. First, both are passed the references to the dictionary. This is followed by a list of the names for the individual keys to be entered into the dictionary. This is followed by the SQL query we use to select the data for our dictionary. Next, we specify the file on which this SQL query is to be executed. If necessary, you can also pass any number of parameters to the function. We do not need these in our example. If both functions have the same parameter input and a similar description, what is the difference between the two? The Dictionary.AddSQLRecord function takes only the first entry from the SQL result set and stores it in the dictionary. Dictionary.AddSQLRecords, on the other hand, takes all records from the SQL result and enters the data into the dictionary.

(more)

MBS FileMaker Advent calendar - Door 22 - Table statistics

Monkeybread Monkey as an elf
christmas tree Door 22
Table statistics
christmas tree

Welcome to door 22. Today's door will be another short one, but no less importantly. Because today I would like to talk to you about the FM.TableStatistics function. This function provides you with table statistics for your tables.

In this function, we first specify the file name and then the table name. Our call then looks like this:

Set Variable [ $Statistics ; Value: MBS( "FM.TableStatistics"; Get(FileName); "Movie" ) ]
Show Custom Dialog [ "Table statistics from the tabl…" ; $Statistics ]
(more)

MBS FileMaker Plugin, version 15.6pr4

New in this prerelease of version 15.6 of the MBS FileMaker Plugin:
  • Added password parameter for XL.LoadBook and XL.LoadBookPartially functions.
  • Improved Translation functions to work mostly on macOS 15 and iOS 18, too.
  • Fixed a mutex problem with UNNotification and triggering the action script.
  • Fixed a text encoding problem for FM.AddErrorMessage function.
  • Fixed a problem with CLibrary.Symbols reporting back OK in case of failure.
  • Fixed a problem with JSON.InsertRecord not handling timestamps correctly.
  • Added Linux and iOS support for Files.GetNodeID function.
  • Changed minimum iOS version for deployment to iOS 13.2.
  • Fixed an issue with Files.MoveFile on Windows when using normal slashes in the path.
  • Updated DynaPDF to version 4.0.102.302.
  • Updated to LibXL 5.0.1.

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip


Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:


You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.


MBS FileMaker Advent calendar - Door 21 - XML

Monkeybread Monkey as an elf
christmas tree Door 21
XML
christmas tree

Welcome to door 21. We have already seen in other doors that we can output the results of SQL queries not only as text but also as a matrix or JSON. Today, I would like to introduce you to another return format: XML.

Like JSON, XML is format that is often used for exchange between applications. Its form is reminiscent of HTML, because tags are also used here to structure the data. In XML, the data is structured, hierarchical, and clearly described.

If we want to output an SQL result as XML, we use the FM.SQL.XMLRecords function. First, we use FM.SQL.Execute to determine the data set that we want to output as XML. Only then we can output the data set with FM.SQL.XMLRecords. Here, we first specify the SQL reference in the function. This is followed by the root node name and the name of the tag for each individual record. Then we list the individual field names as a list. This completes the parameters that we must specify in any case.

(more)

MBS FileMaker Advent calendar - Door 20 - Copying records to a new table with SQL

Monkeybread Monkey as an elf
christmas tree Door 20
Copying records to a new table with SQL
christmas tree

Welcome to door 20 of this advent calendar. We already saw in door 7 how to copy a part of a table. There, we read each field individually and then wrote it to a new table. But there is an easier way to do this. With the FM.InsertRecordQuery function. This function can transfer certain entries from one table to another.

MBS( "FM.InsertRecordQuery"; InsertFileName; InsertTableName; FieldNames; QueryFileName; 
   SQL Statement { ; Params... } )  

First, we specify the file name and table name of the table into which the data is to be inserted. This is followed by a list of the field names into which the data is to be written. Then comes the file name of the file on which the SQL query is to run, followed by the SQL query itself. If parameters are used in the SQL query, you can specify them afterwards.

(more)

MBS FileMaker Advent calendar - Door 19 - CSV and TSV

Monkeybread Monkey as an elf
christmas tree Door 19
CSV and TSV
christmas tree

Welcome to door 19. In previous doors, we have already seen some alternatives to pure text output. Today, I would like to show you another one, which is output as CSV.

A CSV (Comma-Separated Values) is a simple, text-based file format for storing tabular data. Each row corresponds to a data record, and the individual values are separated by a delimiter (usually a comma or semicolon). It is easily readable by both - humans and machines. We now want to output our data from the database as CSV.

The FM.SQL.CSV function is available for this purpose. In the parameters, we first define our SQL query. That's all we need for the function, but like many functions, we can also optionally specify a range in the SQL result we want to get back, allowing us to specify the first and last rows. In the same way, we can now limit the columns by specifying the first and last columns. If we want to deviate from the line break as the line separator and the semicolon as the column separator, we can also define this in the parameters. Last but not least, we can specify a flag that determines whether our values should all be returned as text. If we want this, we write 1 in the flags.

(more)

MBS FileMaker Advent calendar - Door 18 - Update

Monkeybread Monkey as an elf
christmas tree Door 18
Update
christmas tree

Welcome to door 18 of our Advent calendar. Today, I would like to show you how to update data records.

The plugin offers two types of functions for this purpose. On the one hand, we have functions that update a single data record, and on the other hand, we have functions that update several data records at once. Let's start with the single records. Here we have the functions FM.UpdateRecord, FM.UpdateRecord2, FM.UpdateRecord3, FM.UpdateRecord4, and FM.UpdateRecord5. We'll come back to why there are so many update functions in a moment.

(more)

MBS FileMaker Advent calendar - Door 17 - Compare tables

Monkeybread Monkey as an elf
christmas tree Door 17
Compare tables
christmas tree

Welcome to today's door. Today, I would like to introduce a function that allows you to compare changes in tables. The FM.CompareTables function is available for this purpose. It compares two tables for their fields and records and checks whether data has been changed, added, or deleted. This function has several parameters, so let's take a look at them together.

MBS( "FM.CompareTables"; FileName1; TableName1; IDField1; FileName2; TableName2; IDField2 { ; Options } )  
(more)

MBS FileMaker Advent calendar - Door 16 - Delete

Monkeybread Monkey as an elf
christmas tree Door 16
Delete
christmas tree

Today we want to take a look at how to delete records. As already mentioned in door 3, we can also delete records using the MBS SQL functions. Today you will learn how this works.

For deleting, we have the functions FM.DeleteRecord and FM.DeleteRecords in the MBS FileMaker Plugin, which I would like to introduce to you. As the name suggests, the FM.DeleteRecord function is well suited for deleting single records from the database. This function works with unique fields. In the function, we first define the file in which we find the record to be deleted in the parameters, then the table name, and finally the field information that identifies the data record. We specify the field name in which we find the unique ID and then the unique ID itself of the record to be deleted. This is the information you must provide. You can also specify the data record with additional unique IDs. It is important that the fields that help us identify the data record not only contain unique values, but that this is also reflected in the database structure in the validation. If we set the name as a field in the Door7 table, even though the values are unique, an error will occur because it is not declared as unique in the database. So, if we want to delete the movie Gramlins from our database in the Door7 table, we use the PrimaryKey field and the primary key corresponding to the movie for identification.

(more)

MBS FileMaker Advent calendar - Door 15 - Information about tables and base tables

Monkeybread Monkey as an elf
christmas tree Door 15
Information about tables and base tables
christmas tree

Today, I would like to introduce you to a few functions that do not directly affect SQL queries, but can still be very useful. In order to perform SQL queries, we need to know the database structure of our database. Which tables do we have and what are the names of the fields in the corresponding tables? I would now like to find this out together with you. Our plugins have included the relevant functions for years.

(more)

MBS FileMaker Plugin, version 15.6pr3

New in this prerelease of version 15.6 of the MBS FileMaker Plugin:

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip


Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:


You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.


MBS FileMaker Advent calendar - Door 14 - SQL and JSON

Monkeybread Monkey as an elf
christmas tree Door 14
SQL and JSON
christmas tree

We have already established that we can output the results of our SQL query not only as text, but also as a matrix, for example. In today's door, I would like to show you another way of representing the results of your query. Today, we want to receive our results as a JSON return. JSON (JavaScript Object Notation) is an easy-to-understand, text-based data format that is used to store and exchange information in a structured way. It consists of simple key-value pairs and lists is both easy to read for humans and easy to process for computers. JSON is often used to transfer data between applications, web services, or databases.

Three different functions are available for working with SQL in FileMaker. Let's start with the FM.SQL.JSONRecords function. This function can output the data we determine in an SQL query as JSON. To do this, we first specify the reference to our SQL query in the function and then specify the names for the keys in the JSON. In our case, we kept the same names as the field names in the database. That's all it takes to get a result. In this example, we limited the SQL query to the fields Name, Director, Launch, and Generated_Sales.

(more)

MBS FileMaker Advent calendar - Door 13 - Last SQL

Monkeybread Monkey as an elf
christmas tree Door 13
The last SQL
christmas tree

In Door 8, we learned about error handling and were able to use the FM.ExecuteSQL.LastError and FM.ExecuteSQL.LastErrorMessage functions to read the error code and error description provided by the last SQL query with FileMaker. We can display such an error in a dialog box, for example. Often, you may not even know which SQL query was involved. But how can we find out? The FM.ExecuteSQL.LastSQL function helps us with this. It provides you with the last SQL command as run by the plugin.

(more)

MBS FileMaker Advent calendar - Door 12 - UNION

Monkeybread Monkey as an elf
christmas tree Door 12
UNION
christmas tree

Today, I would like to explain the term UNION in SQL in detail. With UNION, we can combine results from multiple tables. To demonstrate this, we will create another table, because in a film, there are not only leading roles, as we have in the Rols2 table, but also supporting roles. These also have a role name and an actor, and then we assign the film to them as well.

We now want to combine these two tables in the result. We want to know which actors appeared in the individual films, regardless of whether they played a leading or supporting role. To do this, we formulate our UNION statement. This consists of two SELECT-FROM parts that are then connected to each other. In the first SELECT FROM part, we want the fields Name, Actor, and Movie from the Rols2 table. In the second part, we want the fields Name, Actor, and Movie from the table Supporting_roles. We now combine these two queries by writing the term UNION between them. Since we now get all actors back, this can become quite confusing. For this reason, we want to sort the whole thing according to the individual films. The query then looks like this:

SELECT Name, Actor, Movie 
FROM Rols2 
UNION 
SELECT Name, Actor, Movie 
FROM Supporting_roles 
ORDER BY Movie
(more)

Christmas Funding Drive for The FM Soup

As you may know the FileMaker Soup is a community organized forum for English speaking Claris FileMaker developers to support each other. The forum is run by a non-profit organization of volunteers elected by forum members.

Currently the Soup runs a Christmas Funding Drive to gather the $2000 CAD to run the forum for another year.

MBS just donated 250 CAD to help fund the forum.

We hope a few more users of the forum can make a donation, even if it's just $20 and donate via Zeffy.


MBS FileMaker Advent calendar - Door 11 - Adding records

Monkeybread Monkey as an elf
christmas tree Door 11
Adding records
christmas tree

Today, we want to take a look at how we can use SQL to insert new records into our table. This feature is incredibly cool because you can insert a record into your FM table without having to switch layouts. Personally, this is my favorite use of SQL in FileMaker databases. Let's take a closer look at the appropriate SQL command:

INSERT INTO table_name (field1, field2, field3, ...)

VALUES (value1, value2, value3, …)
(more)

Upcoming changes for 2026 in MBS Plugins

For 2026, we plan to change a few things and we let you know here:

Vertical Products for ProDeveloper licenses

We plan to ask people with a ProDeveloper licenses for our FileMaker plugin which vertical solution they use the plugin in, so we can know which developer to contact if their clients contact us directly. Currently we have no real overview and need to search manually the web or our emails.

Number of releases

Currently we do a release every two months. There may be the chance to optimize this and maybe do just 5 instead of 6 releases a year. For example the release in July always gets less feedback as clients are going to vacation. If we don't need to have something new to show for a summer conference, we may skip this. And the September release is often a smaller update because our team is regularly on vacation in August.

(more)

MBS FileMaker Advent calendar - Door 10 - Minimum and Maximum

Monkeybread Monkey as an elf
christmas tree Door 10
Minimum and Maximum
christmas tree

Welcome to Door 10. Today, I would like to talk to you about the FM.SQL.Max and FM.SQL.Min functions. As their names suggest, these two functions determine the lowest or highest value within a result set. As we did yesterday, we first send an SQL query to the database using the FM.SQL.Execute function. We can then apply FM.SQL.Max and FM.SQL.Min. In our example, we want to determine the values of the highest and lowest generated sales. Our script then looks like this:

Set Variable [ $SQLRes ; Value: MBS("FM.SQL.Execute" ; Get(FileName); 
   "SELECT Generated_Sales FROM Movie" ) ]
Set Variable [ $max ; Value: MBS("FM.SQL.Max"; $SQLRes; 0; ""; "") ]
Set Variable [ $min ; Value: MBS("FM.SQL.Min"; $SQLRes; 0; ""; "") ]
Show Custom Dialog [ "Minimum and Maximum generated …" ;
   "Min: " & $min & "¶Max: " & $max ]
Set Variable [ $r ; Value: MBS("FM.SQL.ReleaseAll") ]
(more)

Three weeks till year's end

The year 2025 will end in less than three weeks. Do you need some more licenses?
  • You can order licenses for 2026 or later and have invoice, delivery and payment done in 2025.
    This way you secure the current pricing and the possibility to keep upgradeability for older licenses.
  • And of course you can order updates for several years in advance for all your MBS products.
  • As all our Xojo and DynaPDF plugin licenses are per developer, you should check if you got a new developer in your team this year and adjust licenses to match team size.
  • For MBS FileMaker Plugin please check if you have enough license for the number of seats or servers you have in use.
    If you upgrade to unlimited seats or servers, the plugin won't need to check the usage counts.
  • For LibXL you can check if you like to upgrade from individual developer licenses to the Enterprise level. We can assist and may apply a special upgrade price.

Especially if you run on a budget and you want to spend some money in the old year, you can buy updates for several years in advance.
If you need help to decide what Xojo, FileMaker or plugin license you need, we may be able to assist you.


MBS FileMaker Advent calendar - Door 9 - Totals and averages

Monkeybread Monkey as an elf
christmas tree Door 9
Totals and averages
christmas tree

Today, I would like to introduce two functions that you can use to evaluate the data in your results even further: FM.SQL.Sum and FM.SQL.Avg. The FM.SQL.Sum function calculates the total from a column in our results. Let's try this out right away and calculate the total number of screenings for all films. To do this, we have the following code:

Set Variable [ $SQLRes ; Value: MBS("FM.SQL.Execute" ; Get(FileName); 
   "SELECT Generated_Sales FROM Movie" ) ]
Set Variable [ $r ; Value: MBS("FM.SQL.Sum"; $SQLRes; 0; ""; "") ]
Show Custom Dialog [ "Sum of generated sales" ; $r ]
(more)

MBS @ FMTraining.TV - FileMaker MonkeyBread Plug-in 15.5 Update

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

We show what is new in the MBS Plugin version 15.5: Announcement, Release Notes, New Functions.

(more)

MBS FileMaker Advent calendar - Door 8 - Error handling

Monkeybread Monkey as an elf
christmas tree Door 8
Error handling
christmas tree

In Door 2, we saw that FileMaker itself has a function called ExecuteSQLe that can output error messages when errors occur in the process. If we have an error in the SQL query with the MBS functions, then instead of a result or a reference number, we receive an error message from the function that went wrong.

Set Variable [ $r ; Value: MBS( "FM.ExecuteFileSQL"; Get(FileName);
   "SELECT Nme, Launch FROM Movie WHERE Director=? OR Launch=? AND NOT Director=?";
   "-" ;  "¶"; "Chris Columbus"; 2000; "Greg Beeman" ) ]
(more)

MBS FileMaker Plugin, version 15.6pr2

New in this prerelease of version 15.6 of the MBS FileMaker Plugin:
  • Stripped debug symbols from the linux plugin builds to reduce file size.
  • Rebuild linux plugins without references to CXXABI_1.3.9 in libc++ for compatibility to older Linux versions..
  • Disabled FoundationModels for macOS on Intel as they are not available there.
  • Fixed a Swift problem that prevented the plugin from load in FileMaker 17 and 18 on macOS.
  • Added SaltLength parameters for RSA.SignPSS and RSA.VerifyPSS.

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip


Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:


You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.


MBS FileMaker Advent calendar - Door 7 - Precise entries and their types

Monkeybread Monkey as an elf
christmas tree Door 7
Precise entries and their types
christmas tree

Welcome to door 7. We still have some homework from yesterday to discuss. The task was to solve this query with a cross join:

SELECT Rols2.Movie, Movies2.Name, Movies2.Director, Movies2.Launch, Rols2.Actor 
FROM Movies2 
JOIN Rols2 ON Movies2.PrimaryKey = Rols2.Movie

Such a cross join may look like this:

# CROSS JOIN WITH WHERE
Set Variable [ $SQLRes ; Value: MBS("FM.SQL.Execute" ; Get(FileName); 
   "SELECT Rols2.Movie, Movies2.Name, Movies2.Director, Movies2.Launch, Rols2.Actor 
   FROM Rols2 CROSS JOIN Movies2 WHERE Rols2.Movie=Movies2.PrimaryKey" ) ]
Set Variable [ $r ; Value: MBS("FM.SQL.Text"; $SQLRes; ""; ""; ""; ""; "¶"; "-") ]
Show Custom Dialog [ "Result" ; $r ]
Set Variable [ $r ; Value: MBS("FM.SQL.ReleaseAll") ]
(more)

MBS FileMaker Advent calendar - Door 6 - Joins

Monkeybread Monkey as an elf
christmas tree Door 6
Joins
christmas tree

Today, I would like to introduce you to an important topic in SQL: Joins.

In FileMaker, we have relationships between the tables we work on, allowing us to relate data records to each other. We do not have these direct, fixed connections between two tables in SQL. Here, we have to create the relationship in the query, and we do that with Joins. There are different types of Joins, which we will now learn about using small examples so that we can use them later in your actual database. To do this, we will use a small section of our Movies table, which contains 5 movies for the example. We will simplify the primary key as a sequential number, as this is of course different in real life.

(more)

The year 2025 - Birthday and Conferences

Let's take a moment to think about what happend in 2025. Beside shipping six versions of our plugins, we helped a lot of people with tools to implement electronic invoices, we added Saxon support and we visited seven conferences.

25 years of Monkeybread Software

This year we had a great party with lots of family, friends and clients. We enjoyed some fine cake, a barbecue buffet for dinner, some nice presentations and the children had a big bouncy castle. Over 90 guests came to congratulate us.

The next birthday is coming up with 20 years of MBS Plugin in September 2026.

(more)

MBS FileMaker Advent calendar - Door 5 - Count your field and rows

Monkeybread Monkey as an elf
christmas tree Door 5
Count your field and rows
christmas tree

Yesterday, we looked at the FM.SQL.Execute and FM.SQL.Text functions. In the parameters of the FM.SQL.Text function, we saw that we can limit our result set during output. But how large is our result set actually?

Let's find out together today. We have two functions that are essential for this: FM.SQL.RowCount and FM.SQL.FieldCount. With these two functions, we can count the rows or columns of our result.

(more)

MBS @ FMTraining.TV - FileMaker MonkeyBread Plug-in Q&A

Check out the FMTraining.tv website. Richard Carlton and his team do a daily free live stream about FileMaker to watch.

A few days ago Christian Schmitz from Monkeybread Software joined a live episode to talk a bit about the MBS FileMaker Plugin. Watch it on YouTube.

This time we had multiple topics and they cut it into nine videos:

(more)

MBS FileMaker Advent calendar - Door 4 - FM.SQL.Executeand life in the matrix

Monkeybread Monkey as an elf
christmas tree Door 4
FM.SQL.Execute and life in the matrix
christmas tree

Yesterday, we learned about an SQL function from MBS. Just like FileMaker's own function, it returned text that we could then work with. This time, we want to take a look at the FM.SQL.Execute function. Instead of returning text output, this function creates a reference. A reference is a reference to the working memory in which the result of the function is temporarily stored. This allows you to use the result returned by the SQL query with other cool MBS functions, which you will learn about later in this calendar. The advantage of having a reference instead of text is that the text does not have to be reloaded into the working memory every time we want to work with the result. The result with the reference is simply stored in the working memory, which saves us a lot of time when dealing with large amounts of data. This also gives us the option of running through the result (in another door) or selecting a different output type. We will output the result as text as well as a matrix. The FM.SQL.Text function is available for output as text. Let's take a look at such a query on our database. Here, we want to search for all movies made before the year 2000. In the FM.SQL.Execute function, we first specify the database on which we want to perform our operations.If we leave this parameter blank, we do not limit the query to one database. Instead, we keep the option open for multiple databases. In our case, it is clear which one we want, and we specify it. Then the SQL statement follows. The result of this function, our reference, is then stored in our variable $SQLRes. We then use this reference as the first parameter in our next function, FM.SQL.Text. Then we can determine the range of data to be displayed. We have parameters for the first and last row and the first and last column. For now it is sufficient to leave the parameters empty, because then the entire result set will be displayed. Two further parameters then stand for the row separator and field separator.

Set Variable [ $SQLRes ; Value: MBS("FM.SQL.Execute" ; Get(FileName); 
   "SELECT Name, Launch FROM Movie WHERE Launch<2000" ) ]
Set Variable [ $r ; Value: MBS("FM.SQL.Text"; $SQLRes;"";"";"";"";"¶¶";"| - |") ]
(more)

MBS FileMaker Advent calendar - Door 3 - FM.ExecuteFileSQL

Monkeybread Monkey as an elf
christmas tree Door 3
FM.ExecuteFileSQL
christmas tree

Today is the third day. Yesterday, we learned what we can do with FileMaker's internal functions. Today, we want to look at an MBS function that is very similar in structure: the FM.ExecuteFileSQL function.

Let's take a look at our query for all movies directed by Chris Columbus, plus movies released in 2000 that were not directed by Greg Beeman. We remember that this was the query:

SELECT Name, Launch 
FROM Movie 
WHERE Director = 'Chris Columbus' OR Launch=2000 AND NOT Director='Greg Beeman'

We now want to execute this query in the MBS function FM.ExecuteFileSQL.

(more)

MBS FileMaker Advent calendar - Door 2 - SQL with FileMaker's own functions

Monkeybread Monkey as an elf
christmas tree Door 2
SQL with FileMaker's own functions
christmas tree

Before we take a look at what MBS can do with SQL, let's take a look at FileMaker's own functions and get started with the SQL language. In today's example, we are working with a table listing Christmas movies. It is called Movie and has the following fields: Name, Director, Year and Generated_Sales. The first queries will be run on this table in a moment.

(more)

Videos von der FileMaker Konferenz

Präsentationen von Stefanie Juchmes-Simonis anlässlich der FileMaker Konferenz in Hamburg im September 2025.

Scripte auf dem Server

Stefanie trägt auf der FileMaker Konferenz 2025 über Skripte auf dem Server vor.

(more)

MBS FileMaker Advent calendar - Door 1 - Introduction

Monkeybread Monkey as an elf
christmas tree Door 1
What is SQL?
christmas tree

Today we start with the first door of this year's MBS Advent calendar. This year, we have come up with a themed Advent calendar for you. Over the next 24 doors, you will learn how to work with SQL within a FileMaker database using MBS functions.

So let's start today with the question: What is SQL in general, and what can I use it for?

(more)

MBS FileMaker Plugin, version 15.6pr1

New in this prerelease of version 15.6 of the MBS FileMaker Plugin:

New functions in documentation

Download Links: Download Mac dmg or Download Windows/Linux zip


Downloads at monkeybreadsoftware.com/filemaker/files/Prerelease/:


You can subscribe to our FileMaker mailing list to get notified for new pre-release and release versions.


Archives

Jan 2026
Dec 2025
Nov 2025
Oct 2025
Sep 2025
Aug 2025
Jul 2025
Jun 2025
May 2025
Apr 2025
Mar 2025
Feb 2025
Jan 2025
Dec 2024
Nov 2024
Oct 2024
Sep 2024
Aug 2024
Jul 2024
Jun 2024
May 2024
Apr 2024
Mar 2024
Feb 2024
Jan 2024
Dec 2023
Nov 2023
Oct 2023
Sep 2023
Aug 2023
Jul 2023
Jun 2023
May 2023
Apr 2023
Mar 2023
Feb 2023
Jan 2023
Dec 2022
Nov 2022
Oct 2022
Sep 2022
Aug 2022
Jul 2022
Jun 2022
May 2022
Apr 2022
Mar 2022
Feb 2022
Jan 2022
Dec 2021
Nov 2021
Oct 2021
Sep 2021
Aug 2021
Jul 2021
Jun 2021
May 2021
Apr 2021
Mar 2021
Feb 2021
Jan 2021
Dec 2020
Nov 2020
Oct 2020
Sep 2020
Aug 2020
Jul 2020
Jun 2020
May 2020
Apr 2020
Mar 2020
Feb 2020
Jan 2020
Dec 2019
Nov 2019
Oct 2019
Sep 2019
Aug 2019
Jul 2019
Jun 2019
May 2019
Apr 2019
Mar 2019
Feb 2019
Jan 2019
Dec 2018
Nov 2018
Oct 2018
Sep 2018
Aug 2018
Jul 2018
Jun 2018
May 2018
Apr 2018
Mar 2018
Feb 2018
Jan 2018
Dec 2017
Nov 2017
Oct 2017
Sep 2017
Aug 2017
Jul 2017
Jun 2017
May 2017
Apr 2017
Mar 2017
Feb 2017
Jan 2017
Dec 2016
Nov 2016
Oct 2016
Sep 2016
Aug 2016
Jul 2016
Jun 2016
May 2016
Apr 2016
Mar 2016
Feb 2016
Jan 2016
Dec 2015
Nov 2015
Oct 2015
Sep 2015
Aug 2015
Jul 2015
Jun 2015
May 2015
Apr 2015
Mar 2015
Feb 2015
Jan 2015
Dec 2014
Nov 2014
Oct 2014
Sep 2014
Aug 2014
Jul 2014
Jun 2014
May 2014
Apr 2014
Mar 2014
Feb 2014
Jan 2014
Dec 2013
Nov 2013
Oct 2013
Sep 2013
Aug 2013
Jul 2013
Jun 2013
May 2013
Apr 2013
Mar 2013
Feb 2013
Jan 2013
Dec 2012
Nov 2012
Oct 2012
Sep 2012
Aug 2012
Jul 2012
Jun 2012
May 2012
Apr 2012
Mar 2012
Feb 2012
Jan 2012
Dec 2011
Nov 2011
Oct 2011
Sep 2011
Aug 2011
Jul 2011
Jun 2011
May 2011
Apr 2011
Mar 2011
Feb 2011
Jan 2011
Mar 2010
Dec 2009
Nov 2009