Topics   All   Mac OS X (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server (Not)   Client   Old   Guides   Examples
New in version: 6.2   6.3   6.4   6.5   7.0   7.1   7.2   7.3   7.4   7.5    Statistic  


This is similar to FM.ExecuteSQL, except that it waits until idle to execute.

Component Version macOS Windows Server FileMaker Cloud FileMaker iOS SDK
FM FMSQL 1.2 Yes Yes No No No

MBS( "FM.ExecuteSQLOnIdle"; SQL Statement { ; Column Delimiter; Record Delimiter; Params } )


Parameter Description Example value
SQL Statement the SQL statement
Column Delimiter Optional
Optional column delimiter
Record Delimiter Optional
Optional record delimiter
Params Optional
Optional, pass here parameters. One parameter to this function for each parameter you want to pass to the SQL statement.


This is similar to FM.ExecuteSQL, except that it waits until idle to execute.
You run a script pause after using this function to give it time to execute.
See the other function for more info.
Seems like on FileMaker 11 you get LastError 8310 if you use fields with underscore in the name. You avoid that by placing the field names in quotes.

Use FM.ExecuteSQL.LastErrorMessage and FM.ExecuteSQL.LastError to see error message. Use FM.ExecuteFileSQL if you want to specify the file name.


Create a new text field in a table:

MBS("FM.ExecuteSQLOnIdle";"ALTER TABLE TestTable ADD MyField varchar")

And delete the field:

MBS("FM.ExecuteSQLOnIdle";"ALTER TABLE TestTable DROP COLUMN MyField")

Create new table:

MBS("FM.ExecuteSQLOnIdle";"CREATE TABLE \"MyTABLE\" (test varchar)")

Create new table:

MBS("FM.ExecuteSQLOnIdle";"CREATE INDEX \"IndexLastname\" ON \"Persons\" (\"LastName\");")

See also

Example Databases

FM.ExecuteSQL.LastSQL   -   FM.GetSQLBatchMode

Feedback: Report problem or ask question.

MBS Xojo Plugins