Contenido

# Definir condiciones

Las condiciones son expresiones lógicas que permiten controlar la visualización de campos y secciones en el documento. Aunque los ejemplos siguientes se aplican a los campos, también sirven para las secciones.

Puede definir condiciones para los campos siguientes:

1. Texto condicional: muestra el texto A si la condición es verdadera o el texto B si la condición es falsa.

2. Texto oculto: oculta el contenido del campo si la condición es verdadera.

3. Párrafo oculto: oculta el párrafo si la condición es verdadera.

4. Cualquier registro y Registro siguiente: controla el acceso a los registros de la base de datos.

La manera más sencilla de definir una condición es escribir la expresión lógica directamente en el cuadro Condición mediante los valores siguientes:

TRUE | La condición se cumple siempre. Otra alternativa consiste en introducir cualquier valor distinto de 0, como texto de condición.
FALSE | La condición no se cumple. Otra alternativa consiste en introducir el valor 0.

Si deja el cuadro Condición vacío, se interpreta que la condición no se ha cumplido.

Si define una condición, use los mismos elementos para definir una fórmula, en concreto operadores comparativos, funciones matemáticas y estadísticas, formatos numéricos, variables y constantes.

Puede usar los tipos de variables siguientes cuando defina una condición:

1. Variables de LibreOffice predefinidas que usan estadísticas en las propiedades de los documentos

2. Variables personalizadas que se crean con el campo «Establecer variable»

3. Variables basadas en los datos de usuario

4. Variables basadas en el contenido de los campos de la base de datos

No puede usar variables internas, como la página y los números de los capítulos en la expresión de las condiciones.

## Condiciones y variables

Los ejemplos siguientes utilizan una variable llamada «x»:

x == 1 o x EQ 1 | La condición es verdadera si «x» equivale a 1.
x != 1 o x NEQ 1 | La condición es verdadera si «x» no equivale a 1.
sinx == 0 | La condición es verdadera si «x» es un múltiplo de pi.

Para usar operadores comparativos con cadenas de caracteres, aquéllos deben estar limitados por comillas dobles:

x == "ABC" o x EQ "ABC" | Comprueba si la variable «x» contiene (verdadero) la cadena de caracteres «ABC» o no (falso).
x == "" o x EQ "" o !x o NOT x | Comprueba si la variable «x» contiene una cadena vacía.

El operador comparativo «igual» se debe representar mediante dos signos de igual (==) en una condición. Por ejemplo, si define una variable «x» con el valor de 1, la condición se debe escribir como x==1.

## Datos de identidad

Puede incluir datos del usuario al definir condiciones. Para cambiar los datos del usuario, vaya a LibreOffice ▸ Preferencias Herramientas ▸ Opciones ▸ LibreOffice ▸ Datos de usuario. Estos datos se deben introducir como cadenas. Puede consultar los datos del usuario mediante «==» (EQ, igual), «!=» (NEQ, distinto) y «!» (NOT, no).

La tabla siguiente muestra las variables de los datos del usuario y su significado:

Variable | Significado
--- | ---
user_firstname | Nombre
user_lastname | Apellidos
user_initials | Iniciales
user_company | Empresa
user_street | Calle
user_country | País
user_zipcode | Código postal
user_city | Ciudad
user_title | Título
user_position | Posición
user_tel_work | Número de teléfono (trabajo)
user_tel_home | Número de teléfono (privado)
user_fax | Número de fax
user_email | Dirección de correo electrónico
user_state | Estado (no en todas las versiones de LibreOffice)

Por ejemplo, para ocultar un párrafo, texto o una sección de un usuario con una inicial concreta, como «LM», escriba la condición: «user_initials=="LM"».

## Condiciones y campos de base de datos

Puede definir las condiciones para acceder a las bases de datos o los campos de bases de datos. Por ejemplo puede comprobar el contenido de un campo de la base de datos de una condición o usar los campos de la base de datos en expresiones lógicas. La tabla siguiente muestra más ejemplos del uso de bases de datos en las condiciones:

Ejemplo | Significado
--- | ---
Base de datos.Tabla.Empresa Base de datos.Tabla.Empresa NEQ "" Base de datos.Tabla.Empresa != "" | La condición es verdadera si el campo EMPRESA no está vacío. (En el primer ejemplo no se requiere ningún operador.)
!Base de datos.Tabla.Empresa NOT Base de datos.Tabla.Empresa Base de datos.Tabla.Empresa EQ "" Base de datos.Tabla.Empresa =="" | Devuelve VERDADERO si el campo EMPRESA está vacío.
BaseDeDatos.Tabla.Empresa !="Sun" BaseDeDatos.Tabla.Empresa NEQ "Sun" | Devuelve VERDADERO si el contenido actual del campo EMPRESA no es "Sun". (El signo de exclamación representa un NO lógico.)
Base de datos.Tabla.Nombre AND Base de datos.Tabla.Apellidos | Devuelve TRUE si el registro contiene el nombre y el apellido.

Tenga en cuenta que existe una diferencia entre el no lógico «!» (NOT) y el operador de desigualdad «!=» (NEQ).

Cuando haga referencia a un campo de base de datos en una condición, emplee la forma Nombredebasededatos.Nombredetabla.Nombredecampo. Si un nombre contiene un carácter que es un operador, por ejemplo un signo menos (-), ponga el nombre entre corchetes, por ejemplo Nombredebasededatos.[Nombre-tabla].Nombredecampo. En los campos de nombres nunca debe haber espacios en blanco.

### Ejemplo: Ocultar un campo vacío de la base de datos

Puede que desee crear una condición que oculte un campo vacío, por ejemplo, si el campo COMPANY está vacío en algunos de los registros de datos.

Seleccione la entrada de lista Párrafo oculto y escriba la condición siguiente: Addressbook.Addresses.Company EQ ""

o escriba lo siguiente

NOT Libretadirecciones.Direcciones.Empresa

Si el campo EMPRESA de la base de datos está vacío, la condición es verdadera y el párrafo se oculta.

Para ver en pantalla los párrafos ocultos, diríjase a LibreOffice ▸ Preferencias Herramientas ▸ Opciones ▸ LibreOffice Writer ▸ Ver y desmarque la casilla Párrafos ocultos.

## Ejemplos de condiciones en campos

Los ejemplos siguientes usan el campo Texto condicional, aunque se pueden aplicar a cualquier campo que se pueda vincular a una condición. La sintaxis que se usa para las condiciones también se usa para los campos Texto oculto, Párrafo oculto, Cualquier registro o Registro siguiente.

## Para mostrar texto condicional basado en el número de páginas:

1. Vaya a Insertar ▸ Campo ▸ Más campos y, a continuación, pulse en la pestaña Funciones.

2. En la lista Tipo, pulse en «Texto condicional».

3. En el cuadro Condición, escriba «page == 1».

4. En el cuadro Entonces, escriba «Solo hay una página».

5. En el cuadro Si no, escriba «Hay varias páginas».

6. Pulse en Insertar y, a continuación, en Cerrar.

## Para mostrar texto condicional basado en una variable definida por el usuario

1. Vaya a Insertar ▸ Campo ▸ Más campos y, a continuación, pulse en la pestaña Variables.

2. En la lista Tipo, pulse en «Establecer variable».

3. En el cuadro Nombre, escriba «Beneficio».

4. En el cuadro Valor, escriba «5000».

5. Pulse en Insertar.

6. Pulse en la pestaña Funciones y, a continuación, en «Texto condicional» en la lista Tipo.

7. En el cuadro Condición, escriba «Beneficio < 5000».

8. En el cuadro Entonces, escriba «No se cumple el objetivo».

9. En el cuadro Si no, escriba «Se cumple el objetivo».

10. Pulse en Insertar.

Para editar el contenido de la variable «Beneficio», pulse dos veces en el campo de la variable.

## Para mostrar texto condicional basado en el contenido de un campo de la base de datos:

En la primera parte de este ejemplo se inserta un espacio entre los campos «Nombres» y «Apellidos» de un documento, mientras que en la segunda parte se inserta texto según el contenido de un campo. Este ejemplo requiere que se registre un origen de datos de direcciones con LibreOffice.

1. Vaya a Insertar ▸ Campo ▸ Más campos y, a continuación, pulse en la pestaña Base de datos.

2. En la lista Tipo de campo, pulse en «Campos de combinación de correspondencia».

3. En el cuadro Seleccionar base de datos, pulse dos veces sobre una libreta de direcciones, a continuación pulse "Nombre" y después Insertar. Haga lo mismo con "Apellidos".

4. Sitúe el cursor en el documento, entre los dos campos; pulse un espacio y vuelva al diálogo Campos:

5. Pulse la pestaña Funciones y a continuación "Texto condicional" en la lista Tipo de campo.

6. En el cuadro Condición, escriba: «Addressbook.addresses.firstname».

7. En el cuadro Entonces escriba un espacio y deje en blanco el cuadro Si no.

Ahora puede usar una condición para insertar texto basado en el contenido del campo Nombre.

1. En el diálogo Campos pulse la pestaña Funciones.

2. Seleccione «Texto condicional» en el cuadro Tipo.

3. En el cuadro Condición, escriba: «Addressbook.addresses.firstname == "Miguel"»

4. En el cuadro Entonces, escriba «Apreciado/a».

5. En el cuadro Si no, escriba «Hola».

6. Pulse en Insertar.