Referência > Referência de funções > Funções lógicas > Evaluate
 

Evaluate

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 e no FileMaker Cloud.

Exemplo 1 

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.

Exemplo 2 

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.

Exemplo 3 

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 )" )

Exemplo 4 

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 )")

Exemplo 5 

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 )

Exemplo 6 

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 Advanced 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