Referência > Referência de funções > Funções lógicas > Evaluate
 
Evaluate
Propósito 
Avalia uma expressão como um cálculo.
Formato 
Evaluate(expressão{;[campo1;campo2;...]})
Parâmetros 
expressão - qualquer expressão de texto ou campo de texto.
campos - uma lista dos campos de que esta função depende. Quando esses campos forem modificados, o cálculo atualizará seu resultado.
Os parâmetros entre chaves { } são opcionais. Observe que a lista de campos opcionais fica entre colchetes [ ].
Tipo de dados retornado 
texto, número, data, hora, carimbo de data/hora, container
Originado em 
FileMaker Pro 7.0
Descrição 
O parâmetro campos opcional é uma lista de campos de que esse cálculo depende. Se um campo necessário não estiver listado, a modificação desse campo não atualizará o resultado do cálculo.
Notas 
Se o script no lado do servidor tiver a função Evaluate (Avaliar), use os nomes de função em inglês no cálculo de Avaliar. Avaliar não reconhece os nomes de função localizados quando é avaliada em um script no lado do servidor. Consulte Sobre a execução de scripts no FileMaker Server.
Exemplos 
Evaluate(CampodeTexto) retorna 4 quando CampodeTexto contém 2 + 2.
Evaluate("campodetexto") retorna 2 + 2 quando campodetexto contém 2 + 2.
Evaluate(GetField("campodetexto")) retorna 4 quando campodetexto contém 2 + 2.
Evaluate(CampodeTexto;[Valor]) retorna .80 quando CampodeTexto contém .08 * Valor, e o campo Valor contém 10.00.
Evaluate("Let(Alíquota=.05;"& Cálculo de alíquota &")") retorna .50 quando o campo Cálculo de alíquota contém SubTotal * Alíquota, em que SubTotal é um campo numérico que contém 10.00.
O seguinte exemplo mostra como passar parâmetros nomeados usando as funções Evaluate, Let e Get (ScriptParameter), permitindo o acesso somente à variável "a" (o exemplo retorna 6):
ScriptParameter = "a = 5; b = 10"
Evaluate("Let([" & Get (ScriptParameter) & "]; a + 1)")
O seguinte exemplo mostra como passar parâmetros nomeados, permitindo o acesso às variáveis "a" e "b". O primeiro parâmetro simplificado torna o segundo parâmetro mais complexo (o exemplo retorna 6, 12):
ScriptParameter = "a = 5; b = 10"
Evaluate("Let([" & Get (ScriptParameter) & "]; a + 1 & \", \" & b + 2)")
O seguinte exemplo mostra como passar parâmetros nomeados, mantendo a capacidade de verificar a sintaxe do segundo parâmetro da função Let (o exemplo retorna 6, 12):
ScriptParameter = "a = 5; b = 10"
Let([a = Evaluate("Let([" & Get (ScriptParameter) & "]; a)"),
b = Evaluate("Let([" & Get (ScriptParameter) & "]; b)")]; a + 1 & ", " & b + 2)
Nota  A função Evaluate avalia uma expressão, incluindo valores de campo a serem avaliados como uma fórmula de cálculo. Ela também permite especificar as dependências de campo de forma que um cálculo que use a função de avaliação possa ser acionado devido a mudanças em outros campos do mesmo registro. Essa função avalia as fórmulas definidas pelo usuário. Por exemplo, é possível criar uma fórmula no campo Total que calcule o imposto estadual:
Evaluate(FórmulaImpostoEstadual) + CustoEnvio
em que o campo FórmulaImpostoEstadual contém:
SubTotal * 1.0875
e o campo SubTotal contém o subtotal sem incluir o imposto e a taxa de envio.
A função Evaluate tem um segundo parâmetro opcional, que é um campo de que o cálculo depende. Quando o conteúdo do campo dependente muda, o FileMaker Pro reavalia o cálculo. No seguinte exemplo, o cálculo Total será reavaliado quando o SubTotal mudar:
Evaluate(FórmulaImpostoEstadual; SubTotal) + CustoEnvio
O parâmetro dependente pode também ser útil em outros casos. Por exemplo,
Evaluate("Get (CurrentTimeStamp)"; [CampoB; CampoC])
armazenará um carimbo de data/hora no campo de cálculo sempre que CampoB ou CampoC mudar.
Tópicos relacionados 
Referência de funções (lista de categorias)
Referência de funções (lista em ordem alfabética)
Sobre fórmulas
Sobre funções
Definição de campos de cálculo
Utilização de operadores em fórmulas