Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
11.0
11.1
11.2
11.3
11.4
11.5
12.0
12.1
12.2
12.3
Statistic
FMM
Blog
Component: FM
Functions for FileMaker core functions like running scripts.
Version | macOS | Windows | Linux | Server | iOS SDK |
1.2 / 12.3 | ✅ 97% | ✅ 92% | ✅ 83% | ✅ 83% | ✅ 81% |
Item | Details | Server |
---|---|---|
FM.AllowFileDragDrop Installs fix for file drag and drop problem. | Mac only 7.0 |
❌ Server |
FM.Argument Query an argument passed to FileMaker from command line. | All 5.1 |
✅ Server |
FM.ArgumentCount Queries number of arguments. | All 5.1 |
✅ Server |
FM.Beep Beeps. | Mac/Win 8.2 |
✅ Server |
FM.CF Calls a custom function given the name with FileMaker values. | All 11.3 |
✅ Server |
FM.CF.Parameter Queries function parameter. | All 11.3 |
✅ Server |
FM.ChooseDictionary Chooses or queries dictionary used. | Mac only 9.4 |
❌ Server |
FM.CompareTables Compare two tables. | All 9.3 |
✅ Server |
FM.CurrentLayoutID Queries ID of current running FileMaker layout. | All 10.2 |
✅ Server |
FM.CurrentLayoutName Queries name of current layout. | All 10.2 |
✅ Server |
FM.CurrentScriptID Queries ID of current running FileMaker script. | All 5.1 |
✅ Server |
FM.CurrentScriptName Queries name of current script. | All 5.1 |
✅ Server |
FM.CurrentThreadID Queries current thread ID. | All 5.1 |
✅ Server |
FM.CustomFunctionsList Queries result from custom functions list. | Mac only 12.1 |
❌ Server |
FM.DataType Returns data type of argument. | All 6.1 |
✅ Server |
FM.DataViewerContent Looks for data viewer and copies visible table content. | Mac only 6.3 |
❌ Server |
FM.DeleteRecord Deletes an existing record in a table in one line. | All 6.0 |
✅ Server |
FM.DeleteRecords Deletes existing records in a table in one line. | All 6.0 |
✅ Server |
FM.DisableMouseWheel Disables use of mouse wheel on Windows. | Win only 5.1 |
❌ Server |
FM.DisableRuntimeEndWindow Disables end screen on runtime on Mac. | Mac only 4.3 |
❌ Server |
FM.EnableMouseWheel Enables use of mouse wheel on Windows. | Win only 5.1 |
❌ Server |
FM.ErrorMessage Queries an error message for a FileMaker error. | All 11.3 |
✅ Server |
FM.Evaluate Similar to FileMaker's built-in Evaluate. | All 1.3 |
✅ Server |
FM.ExecuteFileSQL Execute the SQL Statement against a FileMaker database. | All 3.5 |
✅ Server |
FM.ExecuteFileSQLOnIdle Executes a SQL command at idle time. | All 6.5 |
✅ Server |
FM.ExecuteFileSQLValue Execute the SQL Statement against a FileMaker database. | All 12.0 |
✅ Server |
FM.ExecuteSQL Execute the SQL Statement against the current FileMaker File. | All 1.2 |
✅ Server |
FM.ExecuteSQL.LastError Queries the last error code from an SQL call | All 1.2 |
✅ Server |
FM.ExecuteSQL.LastErrorMessage Queries the last error message from an SQL call | All 3.0 |
✅ Server |
FM.ExecuteSQL.LastSQL Queries last SQL command. | All 7.4 |
✅ Server |
FM.ExecuteSQLOnIdle This is similar to FM.ExecuteSQL, except that it waits until idle to execute. | Mac/Win 1.2 |
✅ Server |
FM.GetDictionary Queries current dictionary. | Mac only 9.4 |
❌ Server |
FM.GetDictionaryList Queries current dictionaries list. | Mac only 9.4 |
❌ Server |
FM.GetDisableContextualMenus Queries whether to disable contextual menus. | Mac/Win 10.1 |
❌ Server |
FM.GetSQLBatchMode Queries turbo level for sending SQL in chunks. | All 6.4 |
✅ Server |
FM.InitMessageFilter Initializes COM message filter. | Win only 8.3 |
✅ Server |
FM.InsertOrUpdateRecord Inserts or updates a record in a table in one line. | All 6.0 |
✅ Server |
FM.InsertOrUpdateRecord2 Inserts or updates a record in a table in one line. | All 6.1 |
✅ Server |
FM.InsertOrUpdateRecord3 Inserts or updates a record in a table in one line. | All 6.1 |
✅ Server |
FM.InsertOrUpdateRecord4 Inserts or updates a record in a table in one line. | All 11.2 |
✅ Server |
FM.InsertOrUpdateRecord5 Inserts or updates a record in a table in one line. | All 11.2 |
✅ Server |
FM.InsertOrUpdateRecordQuery Insert or updates a lot of records queried from a database. | All 8.4 |
✅ Server |
FM.InsertRecord Inserts a new record in a table in one line. | All 5.1 |
✅ Server |
FM.InsertRecordCSV Inserts records based on CSV text. | All 7.4 |
✅ Server |
FM.InsertRecordQuery Inserts a lot of records queried from a database. | All 5.1 |
✅ Server |
FM.InsertRecordQueryIgnoreDuplicates Inserts a lot of records queried from a database. | All 6.0 |
✅ Server |
FM.InsertRecordTSV Inserts records based on tab/return separated text. | All 5.3 |
✅ Server |
FM.InsertSetUpdateProgressDialog Enable updating progress bar. | Mac/Win 6.2 |
❌ Server |
FM.IsMainThread Checks if current thread is main thread. | All 5.1 |
✅ Server |
FM.LayoutIDForLayoutName Queries the ID for layout with given name. | All 10.2 |
✅ Server |
FM.LayoutNameForLayoutID Queries layout name for a layout ID. | All 10.2 |
✅ Server |
FM.LayoutNames Queries list of layout names in current file. | All 10.2 |
✅ Server |
FM.Loop Universal function to run a loop with evaluate. | All 8.2 |
✅ Server |
FM.MainThreadID Queries main thread ID. | All 5.1 |
✅ Server |
FM.MouseWheelScriptTrigger Installs a script trigger for mouse wheel. | Mac/Win 6.3 |
❌ Server |
FM.NULL Returns a null value. | All 5.1 |
✅ Server |
FM.PatchNotificationProblem Patched problem with Scroll Notifications. | Mac only 8.1 |
❌ Server |
FM.QueryBaseTableNames Queries the base table names of all files currently open. | All 3.1 |
✅ Server |
FM.QueryCustomFunctionsList Queries custom functions list. | Mac only 12.1 |
❌ Server |
FM.QueryFieldsForBaseTableName Queries the field names of all fields in the given table. | All 3.1 |
✅ Server |
FM.QueryFieldsForTableName Queries the field names of all fields in the given table. | All 3.1 |
✅ Server |
FM.QueryTableNames Queries the table names of all files currently open. | All 3.1 |
✅ Server |
FM.RunDatabaseDesignReport Performs a data design report automatically. | Mac/Win 5.0 |
❌ Server |
FM.RunSaveAsXML Saves database as XML. | Mac/Win 9.2 |
❌ Server |
FM.RunScript Runs a script in any open FileMaker file. | All 1.2 |
❌ Server |
FM.RunScriptIdle Runs a script after idle period. | Mac/Win/Linux 3.3 |
❌ Server |
FM.RunScriptLater Runs a script in any open FileMaker file. | All 1.2 |
❌ Server |
FM.SQL.Avg Calculates average value in a record set. | All 9.1 |
✅ Server |
FM.SQL.CSV Queries text of SQL result for CSV export. | All 7.0 |
✅ Server |
FM.SQL.Execute Execute the SQL Statement against a FileMaker database. | All 5.1 |
✅ Server |
FM.SQL.Field Queries field value for given position in result. | All 5.1 |
✅ Server |
FM.SQL.FieldCount Queries number of fields. | All 5.1 |
✅ Server |
FM.SQL.FieldType Queries field type for given position in result. | All 5.1 |
✅ Server |
FM.SQL.InsertRecords Inserts records in FileMaker database from records in memory. | All 6.4 |
✅ Server |
FM.SQL.InsertRecordsToSQL Inserts records in SQL database from records in memory. | All 6.4 |
✅ Server |
FM.SQL.JSONColumn Returns a column as JSON array. | All 10.5 |
✅ Server |
FM.SQL.JSONRecord Returns a row as JSON object. | All 8.1 |
✅ Server |
FM.SQL.JSONRecords Returns rows as JSON array. | All 8.1 |
✅ Server |
FM.SQL.Max Queries max value in a record set. | All 9.1 |
✅ Server |
FM.SQL.Min Queries min value in a record set. | All 9.1 |
✅ Server |
FM.SQL.Release Releases memory used for the SQL result. | All 5.1 |
✅ Server |
FM.SQL.ReleaseAll Release all FMSQL objects. | All 10.5 |
✅ Server |
FM.SQL.RowCount Queries number of rows in the result. | All 5.1 |
✅ Server |
FM.SQL.Sum Calculates sum value in a record set. | All 9.1 |
✅ Server |
FM.SQL.Text Queries text of SQL result. | All 7.0 |
✅ Server |
FM.SQL.XMLRecord Returns a row as XML object. | All 10.3 |
✅ Server |
FM.SQL.XMLRecords Returns rows as XML. | All 10.3 |
✅ Server |
FM.ScriptIDForScriptName Queries the ID for script with given name. | All 5.1 |
✅ Server |
FM.ScriptNameForScriptID Queries script name for a script ID. | All 5.1 |
✅ Server |
FM.ScriptNames Queries list of script names in current file. | All 5.1 |
✅ Server |
FM.SetDisableContextualMenus Whether to disable contextual menus. | Mac/Win 10.1 |
❌ Server |
FM.SetSQLBatchMode Sets turbo level for sending SQL in chunks. | All 6.4 |
✅ Server |
FM.SetThreadName Sets a new name for a thread. | All 6.0 |
✅ Server |
FM.StopScriptIdle Stops any idle timer. | Mac/Win/Linux 5.0 |
✅ Server |
FM.TableStatistics Queries statistics on a table. | All 8.2 |
✅ Server |
FM.UpdateRecord Update an existing record in a table in one line. | All 6.0 |
✅ Server |
FM.UpdateRecord2 Updates existing records in a table in one line. | All 8.0 |
✅ Server |
FM.UpdateRecord3 Updates existing records in a table in one line. | All 8.0 |
✅ Server |
FM.UpdateRecords Updates existing records in a table in one line. | All 6.0 |
✅ Server |
FM.UpdateRecords2 Updates existing records in a table in one line. | All 8.0 |
✅ Server |
FM.UpdateRecords3 Updates existing records in a table in one line. | All 8.0 |
✅ Server |
FM.ValueListIDForValueListName Queries the ID for value list with given name. | All 12.0 |
✅ Server |
FM.ValueListNameForValueListID Queries value list name for a value list ID. | All 12.0 |
✅ Server |
FM.ValueListNames Queries list of value list names in current file. | All 12.0 |
✅ Server |
FM.VariableAdd Adds a value to a given variable atomically. | All 8.3 |
✅ Server |
FM.VariableAppend Appends text to a variable. | All 9.5 |
✅ Server |
FM.VariableClear Destroys a variable that was declared with FM.VariableSet. | All 1.2 |
✅ Server |
FM.VariableClearAll Clears all variables. | All 5.2 |
✅ Server |
FM.VariableExists Checks if a variable with that name exists. | All 4.0 |
✅ Server |
FM.VariableGet Retrieves the value of named variable that was declared using FM.VariableSet. | All 1.2 |
✅ Server |
FM.VariableList Returns list of all variables names and values. | All 4.0 |
✅ Server |
FM.VariableLookup Retrieves the value of named variable that was declared using FM.VariableSet. | All 12.3 |
✅ Server |
FM.VariableNames Queries list of all variable names. | All 8.0 |
✅ Server |
FM.VariableReset Resets the list of variables. | All 4.0 |
✅ Server |
FM.VariableSet Stores a named variable that can be retrieved later using FM.VariableGet. | All 1.2 |
✅ Server |
115 functions shown.
Release notes
- Version 12.2
- Marked FM.ExecuteSQL as deprecated in favor of newer FM.ExecuteFileSQL function.
- Marked FM.ExecuteSQLOnIdle as deprecated in favor of newer FM.ExecuteFileSQLOnIdle function.
- Version 12.1
- Added flag value 8 for FM.SQL.JSONColumn, Matrix.JSONRecord, Matrix.JSONRecords, FM.SQL.JSONRecord and FM.SQL.JSONRecords to return containers as JSON objects with data, size and name.
- Added flags to FM.SQL.Field function to return containers as base64 or just their file name.
- Added FM.QueryCustomFunctionsList and FM.CustomFunctionsList function.
- Version 12.0
- Added FM.ExecuteFileSQLValue function.
- Added FM.ValueListIDForValueListName, FM.ValueListNameForValueListID and FM.ValueListNames functions.
- Fixed JSON functions to return NULL for numbers with no content, e.g. empty text. This affects JSON.CreateNumber, Dictionary.ToJSON, FM.SQL.JSONColumn, FM.SQL.JSONRecord and FM.SQL.JSONRecords functions.
- Version 11.4
- Added FM.CF.Parameter function.
- Version 11.3
- Added FM.CF function to run custom functions defined in a database table and managed via Dictionary functions.
- Added FM.ErrorMessage function.
- Added recursion limit for FM.CF with 50000 as limit, but after about 200 deep FileMaker will report running out of memory.
- Version 11.2
- Added flag 4 for FM.SQL.JSONRecords and FM.SQL.JSONRecord to return result as array of arrays instead of array of objects.
- Added FM.InsertOrUpdateRecord4 and FM.InsertOrUpdateRecord5.
- Changed FM.InsertRecordCSV and FM.InsertRecordTSV to recognize backslash escapes to have returns and tabs escaped in text.
- Version 11.1
- Fixed memory leak in FM.SQL.JSONRecord and Matrix.JSONRecord functions.
- Version 11.0
- Fixed issue with FM.SQL.JSONRecord, FM.SQL.JSONRecords and Dictionary.ToJSON where long numbers where truncated to double precision.
- Version 10.5
- Added AVExport.ReleaseAll, AVRecorder.ReleaseAll, CoreML.ReleaseAll, DNSLookup.ReleaseAll, Dictionary.ReleaseAll, FM.SQL.ReleaseAll, JS.ReleaseAll, JavaScript.ReleaseAll, LDAP.ReleaseAll, PDFKit.ReleaseAll, PKCS12.ReleaseAll, PKCS7.ReleaseAll, PKey.ReleaseAll, SSH.ReleaseAll, WinSendMail.ReleaseAll, WindowsML.ReleaseAll, WordFile.ReleaseAll, and X509.ReleaseAll.
- Added FM.SQL.JSONColumn function.
Blog Entries
- Custom Functions in JavaScript
- Combined Components with MBS FileMaker Plugin
- FileMaker SQL with Sum, Min, Max and Avg on results
- FileMaker Cloud Tipps & Tricks
- MBS FileMaker Plugin 6.1 für OS X/Windows
- MBS FileMaker Plug-in 6.1 for OS X/Windows
- MBS FileMaker Plugin 6.0 for OS X/Windows
- MBS FileMaker Plugin 3.0 for OS X/Windows - More than 1300 Functions In One Plugin
FileMaker Magazin
- Ausgabe 2/2022, Seite 29
- Ausgabe 1/2021, Seite 31, PDF
- Ausgabe 1/2021, Seite 30, PDF
- Ausgabe 1/2021, Seite 29, PDF
- Ausgabe 6/2020, Seite 26, PDF
- Ausgabe 6/2020, Seite 25, PDF
- Ausgabe 5/2020, Seite 20, PDF
- Ausgabe 3/2020, Seite 40, PDF
- Ausgabe 6/2019, Seite 34
- Ausgabe 6/2019, Seite 33
Example Databases
- CURL/Batch Download
- Drag and Drop/DragTest Popover
- Drag and Drop/for Mac/Image drag from one database to other/Image drop
- Drag and Drop/for Mac/Text drag from one database to other/Text drag
- JavaScript/JavaScript libPhoneNumber
- Mac and iOS/MapKit/MapView Click Polygons
- Mac only/Drag File Fix
- SQL to other databases/SQL Export
- Text functions/TSV Import
- XML/XSLT
Videos
- Presentation from June 2020
- MBS FileMaker Plugin, June 2021 News
- MBS Plugin Präsentation von der FileMaker Konferenz 2019
- MBS Plugin Examples
- FileMaker Developer Conference 2019 Presentation
Feedback: Report problem or ask question.
