Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Guides   Examples
New in version: 7.5   8.0   8.1   8.2   8.3   8.4   8.5   9.0   9.1   9.2    Statistic  


Inserts records based on tab/return separated text.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
FM FMSQL 5.3 Yes Yes Yes Yes Yes
MBS( "FM.InsertRecordTSV"; InsertFileName; InsertTableName; FieldNames; Text { ; FieldName; FieldValue } )   More


Parameter Description Example value
InsertFileName The file name of where the insert table is inside. Can be empty to look for the table in all files. Get(FileName)
InsertTableName The name of the table to insert record into. "Assets"
FieldNames A list of field names for the insert.
Empty entries in the list are ignored.
Text The text to import in TSV format. This means tab character between fields and newline character for new records "Bob Miller 12345 New York"
FieldName Optional
A field name to set.
FieldValue Optional
A field value to use for setting the field in the parameter before.
Data type of parameter must match the data type of the field.


Returns number or error.


Inserts records based on tab/return separated text.
This function allows for easy importing of text to create a log of records.
Filename parameters can be empty.
Use FM.ExecuteSQL.LastErrorMessage and FM.ExecuteSQL.LastError to see error message.
Reports an error if field name list doesn't match column count of the query result. The fields must be of type text. You can later use a script to copy values in whatever format you need.
Returns number of records added.

For XML, please check XML.Import function. For splitting values with delimiter into a list, please use QuickList.New which also works with comma, tab, newline or other characters.

With plugin version 6.2 or newer you can pass one pair of field name and value for each extra field you like to set in the new records. e.g. a reference ID.

With plugin version 7.2 or later, you can specify fields and table via IDs and the plugin will lookup them for you at runtime. Table IDs and table names must be unique across all open files for this to work correctly.

With plugin version 8.4 or newer, you can use GetFieldName() function to query field names and the plugin removes the table prefix with :: in the field name before passing it to SQL engine.


Import records from text:

Delete All Records [No dialog]
Set Variable [$fields; Value:"FirstName¶LastName¶City"]
Set Variable [$r; Value:MBS("FM.InsertRecordTSV"; ""; "Contacts"; $fields; Import::ImportText)]

Import some contacts with passing import ID/timestamp:

MBS( "FM.InsertRecordTSV"; "Contacts.fmp12"; "Contacts"; "FirstName¶LastName¶City"; $tsv; "ImportID"; $importID; "ImportDate"; Get(CurrentHostTimeStamp))

See also

Example Databases

Blog Entries

Created 8th September 2015, last changed 31st July 2018

FM.InsertRecordQueryIgnoreDuplicates   -   FM.InsertSetUpdateProgressDialog

Feedback: Report problem or ask question.

MBS Xojo Chart Plugins