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