El editor de fórmulas le ofrece muchas formas de escribir fácilmente sus instrucciones. Puede hacer clic en el nombre de los campos, operadores y comandos, así como también en métodos de proyectos, para añadirlos a la fórmula. Cuando hace clic en un elemento, se muestra automáticamente en el área de edición donde puede modificarlo utilizando las funciones estándar cortar/copiar/pegar. También puede introducir directamente los elementos en el área de edición o arrastrarlos y soltarlos desde la lista de elementos.
El editor de fórmulas contiene las siguientes áreas:
- Lista de tablas y de campos: esta área muestra los campos de la tabla. El menú ubicado sobre la lista le permite definir los campos a mostrar. Puede utilizar campos de la tabla actual, de tablas relacionadas o de todas las tablas.
Nota: las tablas y campos con la propiedad invisible no aparecen en la lista. Para mayor información sobre esta propiedad, consulte el párrafo “Atributos” en las secciones Propiedades de las tablas y Almacenado en registro, archivo de datos o fuera del archivo de datos. - Lista de operadores: la lista de operadores le permite seleccionar los operadores a utilizar en la fórmula. Los operadores están agrupados en temas en el menú ubicado sobre la lista:
Cada tema muestra todos los operadores disponibles para el tipo de datos o de operación correspondiente. Por ejemplo, el operador de asignación := está disponible para todos los tipos de datos.
Para una descripción de cada operador, consulte la siguiente sección. - Lista de comandos: la lista de comandos contiene las funciones 4D que puede utilizar en fórmulas, como también en métodos de proyecto permitidos por el desarrollador. El menú ubicado sobre la lista permite mostrar los comandos por tema o por orden alfabético. Consulte el manual de Lenguaje 4D para una descripción de los comandos 4D que aparecen en este menú.
En principio, los métodos de proyecto utilizables en las fórmulas deben declararse previamente con ayuda del comando 4D SET ALLOWED METHODS. Sin embargo, por defecto, el Diseñador y el Administrador de la base tienen acceso completo a los comandos 4D y métodos de usuario en el editor de fórmulas. También es posible desactivar totalmente el control de acceso para todos los usuarios. Estas opciones se definen en la Página Seguridad de las Propiedades de la base.
Esta es una breve descripción de los diferentes operadores disponibles en el editor de fórmulas. Para una descripción más detallada de las posibilidades ofrecidas por estos operadores, consulte el capítulo Operadores del manual de Lenguaje de 4D.
- Operadores de cadenas
A y B son cadenas de caracteres; N es un número.
Operador | Uso | Descripción |
:= Asignación | A:=B | Asigna el valor de B a A |
+ Concatenación | A+B | Devuelve AB |
* Repetición | A*N | Repite el valor de A N veces |
[[ ]] Índices | [[A]]N | Devuelve el carácter enésimo de A |
"" Cadena vacía | "" | Inserta un par de comillas |
- Operadores numéricos
X y Y son números.
Operador | Uso | Descripción |
:= Asignación | X:=Y | Asigna el valor de Y a X |
+ Suma | X+Y | Devuelve X más Y |
- Resta | X-Y | Devuelve X menos Y |
* Multiplicación | X*Y | Devuelve X multiplicado por Y |
/ División | X/Y | Devuelve X dividido por Y |
\ División entera | X\Y | Devuelve la división entera de X por Y (X y Y deben ser enteros) |
% Módulo | X%Y | Divide X por Y y devuelve el residuo |
^ Exponenciación | X^Y | Devuelve X elevado a la Y |
Nota: el operador módulo % devuelve los valores significativos con los números pertenecientes a la categoría de enteros largos (de -2^31 a +2^31 menos 1). Para calcular el módulo de números que no forman parte de este intervalo, utilice el comando Mod.
- Operadores de fechas
D1 y D2 son fechas; N es un número.
Operador | Uso | Descripción |
:= Asignación | D1:=D2 | Asigna el valor D2 a D1 |
+ Suma | D1+N | Devuelve D1 más N días |
- Diferencia | D1-D2 o | Devuelve el número de días entre D1 y D2 |
| D1-N | Devuelve D1 menos N días |
!//! Fecha vacía | !00/00/00! | Inserta una fecha vacía |
- Operadores de horas
H1 y H2 son horas; N es un número.
Operador | Uso | Descripción |
:= Asignación | H1:=H2 | Asigna el valor H2 a H1 |
+ Suma | H1+H2 o | Devuelve H1 más H2 |
| H1+N | Devuelve H1 más N segundos, expresado en segundos transcurridos desde la media noche |
- Diferencia | H1-H2 o | Devuelve H1 menos H2 |
| H1-N | Devuelve H1 menos N segundos, expresado en segundos transcurridos desde la media noche |
* Multiplicación | H1*N | Devuelve H1 multiplicado por N, expresado en segundos transcurridos desde la media noche |
/ División | H1/N | Devuelve H1 dividido por N, expresado en segundos transcurridos desde la media noche |
\ División Entera | H1\N | Devuelve la división entera de H1 por N, expresado en segundos transcurridos desde la media noche |
% Módulo | H1%N | Divide H1 por N y devuelve el residuo |
?::? Hora vacía | ?00:00:00? | Inserta una hora vacía |
- Operadores de comparación
Z1 y Z2 pueden ser de tipo cadena, numérica, fecha u hora.
Operador | Uso | Descripción |
= Igual a | Z1=Z2 | Devuelve True si Z1 es igual a Z2 |
# Distinto de | Z1#Z2 | Devuelve True si Z1 es distinto de Z2 |
> Mayor que | Z1>D | Devuelve True si Z1 es mayor que Z2 |
>= Mayor o igual a | Z1>=Z2 | Devuelve True si Z1 es mayor o igual a Z2 |
< Menor que | Z1<Z2 | Devuelve True si Z1 es menor que Z2 |
<= Menor o igual a | Z1<=Z2 | Devuelve True si Z1 es menor o igual a Z2 |
- Operadores lógicos
B1 y B2 deben ser booleanos (expresiones que son TRUE o FALSE).
Operador | Uso | Descripción |
& AND | B1 & B2 | Devuelve True si B1 es True y B2 es True |
| OR | B1 | B2 | Devuelve True si B1 es True o B2 es True |