参考 > 函数参考 > 逻辑函数 > Evaluate
 
Evaluate
目的 
将表达式解析成计算结果。
格式 
Evaluate ( 表达式 {; [字段1 ; 字段2 ; 字段3 ; ...]} )
参数 
表达式 - 任意文本表达式或文本字段
字段 - 此函数所依赖的字段的列表。当修改这些字段时,该计算将更新其结果。
括号 { } 中的参数是可选的。请注意,可选字段列表用括号 [ ] 括起来。
返回的数据类型 
文本、数值、日期、时间、时间戳、容器
源于 
FileMaker Pro 7.0
说明 
可选字段参数是此计算所依赖的字段的列表。如果没有列出所需字段,则修改所依赖的字段不会更新计算结果。
注释 
如果服务器端脚本包含 Evaluate 函数,则在 Evaluate 的计算中使用英语函数名。在服务器端脚本中进行解析时,Evaluate 无法识别本地化的函数名。请参阅关于在 FileMaker Server 上运行脚本
示例 
当文本字段包含 2 + 2 时,Evaluate ( 文本字段 ) 返回“4”。
当文本字段包含 2 + 2 时,Evaluate ( "文本字段" ) 返回“2 + 2”。
当文本字段包含 2 + 2 时, Evaluate ( GetField ( "文本字段" ) ) 返回“4”。
当文本字段包含 .08 * 数量且数量字段包含 10.00 时,Evaluate ( 文本字段 ; [数量] ) 返回“.80”。
当“税率计算”字段包含“小计 * 税率”(其中“小计”是包含 10.00 的数值字段)时,Evaluate ( "Let ( 税率 = .05 ; " & 税率计算 & " )" ) 返回“.50”。
下面的示例显示了在只允许访问 "a" 变量的条件下,如何使用 EvaluateLetGet ( 脚本参数 ) 函数传递指定参数(该示例返回“6”):
脚本参数 = "a = 5 ; b = 10"
Evaluate ( "Let ( [" & Get ( 脚本参数 ) & "] ; a + 1 )" )
下面的示例显示了在允许访问 "a""b" 变量的条件下,如何传递指定参数。简化的第一个参数使第二个参数变得更为复杂(该示例返回“6”,“12”):
脚本参数 = "a = 5 ; b = 10"
Evaluate ( "Let ( [" & Get ( 脚本参数 ) & "] ; a + 1 & \", \" & b + 2 )" )
下面的示例显示了在允许检查 Let 函数第二个参数的语法的条件下,如何传递指定参数(该示例返回“6”,“12”):
脚本参数 = "a = 5 ; b = 10"
Let ( [a = Evaluate ( "Let ( [" & Get ( 脚本参数 ) & "] ; a )" ),
b = Evaluate ( "Let ( [" & Get ( 脚本参数 ) & "] ; b )" )] ; a + 1 & ", " & b + 2 )
注意  Evaluate 函数解析表达式,包括要解析成计算公式的字段值。它还允许您指定字段依赖性,这样即可在更改同一记录中其他字段时,触发使用解析函数的计算。此函数解析用户定义的公式。例如,您可以在总计字段中创建一个公式,用以计算国家税金:
Evaluate ( 国家税金公式 ) + 运送成本
其中“国家税金公式”字段包含:
小计 * 1.0875
而“小计”字段包含缴税和运输前的小计。
Evaluate 函数还有一个可选参数,即计算所依赖的字段。当所依赖的字段内容更改时,FileMaker Pro 重新解析该计算。在下面的示例中,当“小计”更改时,将重新解析“总计”计算:
Evaluate ( 国家税金公式 ; 小计 ) + 运送成本
在其他情况下,从属参数也有用。例如,
Evaluate ( "Get ( 当前系统时间 )" ; [ 字段B ; 字段C ] )
在“字段B”或“字段C”每次更改时都会计算字段中存储一个时间戳。
相关主题 
函数参考(类别列表)
函数参考(按字母数字顺序排序的列表)
关于公式
关于函数
定义计算字段
在公式中使用运算符