Evaluate

Evalúa una expresión como cálculo.

Formato 

Evaluate ( expresión {; [campo1 ; campo2 ;...]} )

Parámetros 

expresión: cualquier expresión de texto o campo de texto.

campos: una lista de campos de los que depende esta función. Cuando se modifiquen estos campos, el cálculo actualizará su resultado.

Los parámetros entre llaves { } son opcionales. Observe que la lista de campos opcionales se escribe entre corchetes [ ].

Tipo de datos devuelto 

texto, número, fecha, hora, fecha y hora, contenedor

Se origina en 

7.0

Descripción 

El parámetro opcional campos es una lista de campos de los que depende este cálculo. Si no aparece un campo necesario, al modificar este campo dependiente no se actualizará el resultado del cálculo.

Notas 

  • Si el guión del servidor contiene la función Evaluate, utilice los nombres de función en inglés en el cálculo de la función Evaluate. Evaluate no reconoce los nombres de función traducidos cuando se evalúa en un guión del servidor. Consulte Ejecutar guiones en FileMaker Server y FileMaker Cloud.

Ejemplo 1 

Evaluate ( CampoTexto ) devuelve 4 si CampoTexto contiene 2 + 2.

Evaluate ( campotexto ) devuelve 2 + 2si campotexto contiene 2 + 2.

Evaluate ( GetField ( "campotexto" ) ) devuelve 4 si campotexto contiene 2 + 2.

Evaluate ( CampoTexto; [Cantidad] ) devuelve .80 si CampoTexto contiene .08 * Cantidad y Cantidad contiene 10.00.

Ejemplo 2 

Evaluate ( "Let ( TasaImpositiva = .05 ;" & Cálculo de tasa impositiva & ")" ) devuelve .50 si el campo Cálculo de tasa impositiva contiene SubTotal * TasaImpositiva y SubTotal es un campo numérico que contiene 10.00.

Ejemplo 3 

En el siguiente ejemplo se muestra cómo llevar parámetros designados con las funciones Evaluate, Let y Get ( ScriptParameter ) permitiendo el acceso solo a la variable "a" (el ejemplo devuelve 6):

Copiar
ScriptParameter = "a = 5; b = 10"
Copiar
Evaluate("Let ( [" & Get ( ScriptParameter ) & "]; a + 1 )")

Ejemplo 4 

En el siguiente ejemplo se muestra cómo se llevan parámetros con nombre, permitiendo el acceso tanto a la variable "a" como a la "b". El primer parámetro simplificado hace que el segundo sea más complejo (el ejemplo devuelve 6, 12):

Copiar
ScriptParameter = "a = 5; b = 10"
Copiar
Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; a + 1 & \", \" & b + 2 )" )

Ejemplo 5 

El siguiente ejemplo muestra cómo transferir parámetros con nombre, manteniendo la capacidad de comprobar la sintaxis del segundo parámetro de la función Let (el ejemplo devuelve 6, 12):

Copiar
ScriptParameter = "a = 5; b = 10"
Copiar
Let ( [a = Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; a )" ),
            b = Evaluate ( "Let ( [" & Get ( ScriptParameter ) & "]; b )" ) ]; a + 1 & ", " & b + 2 )

Ejemplo 6 

La función Evaluate evalúa una expresión, incluidos valores de campo que se van a evaluar como fórmula de cálculo. También le permite especificar dependencias de campo, de forma que se pueda activar un cálculo que utilice la función de evaluación debido a cambios en otros campos del mismo registro. Esta función evalúa fórmulas definidas por el usuario. Por ejemplo, puede crear una fórmula en el campo Total que calcule la tasa estatal:

Copiar
Evaluate ( FórmulaTasaEstatal ) + CostoEnvío

donde el campo FórmulaTasaEstatal contiene:

Copiar
Subtotal * 1,0875

y el campo SubTotal contiene el subtotal antes de impuestos y transporte.

La función Evaluate tiene un segundo parámetro opcional, que es un campo del que depende el cálculo. Cuando cambia el contenido del campo dependiente, FileMaker Pro vuelve a evaluar el cálculo. En el siguiente ejemplo, el cálculo Total se volverá a evaluar cuando cambie SubTotal.

Copiar
Evaluate ( FórmulaTasaEstatal; SubTotal ) + CostoEnvío

El parámetro dependiente también puede resultar útil en otros casos. Por ejemplo,

Copiar
Evaluate ( "Get ( CurrentTimeStamp )" ; [ CampoB ; CampoC ] )

almacenará una marca de fecha y hora en el campo de cálculo cuando cambien CampoB o CampoC.