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.


note

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.


note

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聽鈻 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.


note

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.

note

Para ver en pantalla los p谩rrafos ocultos, dir铆jase a 聽鈻 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.

隆Necesitamos su ayuda!