Functions Reference

Table Of Contents
Logical functions
F
ILEMAKER FUNCTIONS REFERENCE 249
Let
Purpose
Sets a variable or variables to the result of the specified expression(s) for the duration of the
calculation, or until the script exits or the file is closed.
Format
Let({[}var1=expression1{;var2=expression2...]};calculation)
Parameters
var - any variable name, local variable name, or global variable name (see About naming fields for
guidelines on naming variables).
expression - any calculation expression, field, or constant.
calculation - any calculation expression, field, or constant.
Parameters in braces { } are optional.
Data type returned
text, number, date, time, timestamp, container
Originated in
FileMaker Pro 7.0
Description
Multiple variables are allowed when using a list syntax that is enclosed in brackets [ ] and is
separated by semicolons. For example:
Let([variable=value;variable2=value2];calculation)
The $ symbol references a local variable and two $$ symbols reference a global variable. An
optional repetition number appears in brackets [ ] immediately after the variable name. For example:
Let([$variable[repetition]=value;$$variable2=value2]{;calculation} )
The Let function sets the variables from left to right. You can use previously defined variables (for
example, variables that you defined with the Set
Variable script step) to define new variable values,
and you can nest one
Let function within another. If you use a previously defined variable within a
nested
Let function, the variable has scope only within the nested function (as if you had defined a
completely unique variable). See the City example shown below.
Once defined, local and global variables can be referenced in any calculation within their scope. The
scope of global variables is limited to the current file. The scope of local variables is the current
script. Local variables defined in a calculation are scoped to the file but are only available when
scripts are not running. A local and global variable (or even two local variables in different scripts)
can have the same name but they are treated as different variables and store different values.