参考 > 函数参考 > 逻辑函数 > Evaluate
 

Evaluate

将表达式解析成计算结果。

格式 

Evaluate(表达式{;[字段1;字段2;...]})

参数 

表达式 - 任意文本表达式或文本字段

字段 - 此函数所依赖的字段的列表。当修改这些字段时,该计算将更新其结果。

括号 { } 中的参数是可选的。请注意,可选字段列表用括号 [ ] 括起来。

返回的数据类型 

文本、数值、日期、时间、时间戳、容器

源于 

FileMaker Pro 7.0

说明 

可选字段参数是此计算所依赖的字段的列表。如果没有列出所需字段,则修改所依赖的字段不会更新计算结果。

注释 

如果服务器端脚本包含 Evaluate 函数,则在 Evaluate 的计算中使用英语函数名。在服务器端脚本中进行解析时,Evaluate 无法识别本地化的函数名。请参阅关于在 FileMaker Server 和 FileMaker Cloud for AWS 上运行脚本

示例 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" 变量的条件下,如何使用 EvaluateLetGet (脚本参数) 函数传递指定参数(该示例返回"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 Advanced 重新解析该计算。在下面的示例中,当"小计"更改时,将重新解析"总计"计算:

Evaluate(国家税金公式; 小计) + 运送成本

在其他情况下,从属参数也有用。例如,

Evaluate ("Get (当前系统时间)" ; [字段B ; 字段C])

在"字段B"或"字段C"每次更改时都会计算字段中存储一个时间戳。

相关主题 

函数参考(类别列表)

函数参考(按字母顺序排序的列表)

关于公式

关于函数

定义计算字段

在公式中使用运算符