Definição de condições

As condições são expressões lógicas que você pode usar para controlar a exibição de campos e seções no documento. Apesar de os exemplos a seguir se aplicarem a campos, também se aplicam a seções.

Você pode definir condições para os seguintes tipos de campos:

  1. Texto condicional: exibe o texto A se a condição for verdadeira ou o texto B se a condição for falsa.

  2. Texto oculto: oculta o conteúdo do campo se a condição for verdadeira.

  3. Parágrafo oculto: oculta o parágrafo se a condição for verdadeira.

  4. Qualquer registro e próximo registro: controla o acesso aos registros do banco de dados.

A maneira mais simples de definir uma condição é digitar a expressão lógica diretamente na caixaCondição utilizando os valores a seguir:

VERDADEIRO

Sempre satisfaz à condição. Uma alternativa é digitar qualquer valor diferente de 0 como texto condicional.

FALSO

Não satisfaz à condição. Também é possível digitar o valor 0.


Ícone Nota

Se você deixar a caixa Condição vazia, a condição será interpretada como não satisfeita.


Quando você definir uma condição, use os mesmos elementos para definir uma fórmula, a saber, operadores de comparação, funções matemáticas e estatísticas, formatos de números, variáveis e constantes.

Ao definir uma condição, é possível utilizar os seguintes tipos de variáveis:

  1. Variáveis do LibreOffice predefinidas que usam estatísticas sobre as propriedades do documento

  2. Variáveis personalizadas, que são criadas com o campo "Definir variável"

  3. Variáveis baseadas em dados do usuário

  4. Variáveis baseadas no conteúdo dos campos do banco de dados

Não é possível utilizar variáveis internas, tais como números de páginas e de capítulos, na expressão de condições.

Condições e Variáveis

Os exemplos a seguir utilizam uma variável chamada "x":

x == 1 ou x EQ 1

A condição será verdadeira se "x" for igual a 1.

x != 1 ou x NEQ 1

A condição será verdadeira se "x" for diferente de 1.

senx == 0

A condição será verdadeira se "x" for um múltiplo de pi.


Para utilizar operadores de comparação com cadeias de caracteres, os operandos devem estar delimitados por aspas duplas:

x == "ABC" ou x EQ "ABC"

Verifica se a variável "x" contém (verdadeira) a cadeia de caracteres "ABC" ou não (falsa).

x == "" ou x EQ ""

ou

!x ou NOT x

Verifica se a variável "x" contém uma cadeia de caracteres vazia.


Ícone Nota

O operador comparativo "igual" deve ser representado por dois sinais de igual (==) em uma condição. Por exemplo, se definir uma variável "x" com o valor de 1, pode inserir a condição como x==1.


Dados do Usuário

Pode-se incluir os dados do usuário ao definir condições. Para alterar os seus dados de usuário, selecione → LibreOffice → Dados do usuário. Os dados do usuário devem ser inseridos como cadeias de caracteres. Pode-se consultar os dados do usuário com "==" (EQ), "!=" (NEQ), or "!"(NOT).

A tabela a seguir apresenta as variáveis dos dados do usuário e seus significados:

Variável

Significado

user_firstname

Nome

user_lastname

Sobrenome

user_initials

Iniciais

user_company

Empresa

user_street

Rua

user_country

País

user_zipcode

CEP

user_city

Cidade

user_title

Título

user_position

Posição

user_tel_work

Telefone comercial

user_tel_home

Telefone residencial

user_fax

Número de fax

user_email

E-mail

user_state

Estado (apenas em algumas versões do LibreOffice)


Por exemplo, para ocultar um parágrafo, texto ou uma seção de um usuário com as iniciais "LM", insira a seguinte condição: user_initials=="LM".

Condições e Campos do Banco de Dados

É possível definir condições para o acesso de bancos de dados ou de campos de bancos de dados. Por exemplo, você pode verificar o conteúdo de um campo de banco de dados a partir de uma condição ou usar campos de bancos de dados em expressões lógicas. A tabela a seguir lista mais alguns exemplos de utilização de bancos de dados em condições:

Exemplo

Significado

Banco de Dados.Tabela.Empresa

Banco de Dados.Tabela.Empresa NEQ ""

Banco de Dados.Tabela.Empresa != ""

A condição será verdadeira se o campo COMPANY não estiver vazio. (No primeiro exemplo, não há necessidade de operadores.)

!Database.Table.Company

NOT Database.Table.Company

Database.Table.Company EQ ""

Database.Table.Company ==""

Retorna VERDADEIRO se o campo COMPANY for vazio.

Database.Table.Company !="Sun"

Database.Table.Company NEQ "Sun"

Retorna VERDADEIRO se a entrada atual no campo COMPANY não for "Sun". (O ponto de exclamação representa um NÃO lógico.)

Database.Table.Firstname AND Database.Table.Name

Retorna VERDADEIRO se o registro contiver o nome e o sobrenome.


Ícone Nota

Note que existe uma diferença entre o NÃO lógico "!" (NOT) e o operador de comparação diferente de "!=" (NEQ).


Ao fazer referência a um campo de banco de dados em uma condição, use a forma Databasename.Tablename.Fieldname. Se um dos nomes contiver um caractere que seja um operador, como um sinal de menos (-), coloque o nome entre colchetes; por exemplo, Databasename.[Table-name].Fieldname. Nunca utilize espaços dentro de nomes de campo.

Exemplo: Ocultar um Campo de Banco de Dados Vazio

Talvez você queira criar uma condição que oculte um campo vazio, por exemplo, se o campo COMPANY estiver vazio em alguns dos registros de dados.

Selecione a entrada da lista Parágrafo oculto e digite a condição a seguir: Addressbook.Addresses.Company EQ ""

ou digite a condição a seguir

NOT Addressbook.Addresses.Company

Se o campo do banco de dados EMPRESA estiver vazio, a condição será verdadeira e o parágrafo será oculto.

Ícone Nota

Para exibir parágrafos ocultos na tela, selecione - LibreOffice Writer - Recursos de formatação, e desmarque a caixa Campos: Parágrafos ocultos.


Exemplos de Condições em Campos

Os exemplos a seguir utilizam o campo Texto condicional, embora possam ser aplicados a quaisquer campos que, por sua vez, podem ser vinculados a uma condição. A sintaxe utilizada para condições serve também para os campos Texto oculto, Parágrafo oculto, Qualquer registro e Próximo registro.

Para exibir texto condicional com base no número de páginas:

  1. Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Funções.

  2. Na lista Tipo, clique em "Texto Condicional".

  3. Na caixa Condição , digite "page == 1".

  4. Na caixa Então, digite "Há somente uma página".

  5. Na caixa Ou, digite "Há várias páginas".

  6. Clique em Inserir e, em seguida, clique em Fechar.

Para exibir texto condicional com base em uma variável definida pelo usuário

  1. Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Variáveis.

  2. Na lista Tipo, clique em "Definir Variável".

  3. Na caixa Nome, digite "Lucro".

  4. Na caixa Valor, digite "5000".

  5. Clique em Inserir.

  6. Clique na guia Funções e, em seguida, clique em "Texto condicional" na lista Tipo.

  7. Na caixa Condição, digite "Lucro < 5000".

  8. Na caixa Então, digite "Objetivo não é satisfeito".

  9. Na caixa Ou , digite "Objetivo é satisfeito".

  10. Clique em Inserir.

Para editar o conteúdo da variável "Lucro", clique duas vezes no campo da variável.

Para exibir texto condicional com base no conteúdo de um campo do banco de dados:

Na primeira parte desse exemplo é inserido um espaço entre os campos "Nome" e "Sobrenome" de um documento e na segunda parte é inserido um texto baseado no conteúdo de um campo. Esse exemplo exige que uma fonte de dados de endereço esteja registrada com o LibreOffice.

  1. Selecione Inserir - Campo - Outros campos e, em seguida, clique na guia Banco de dados.

  2. Na lista Tipo, clique em "Campos de mala direta".

  3. Na caixa Seleção do banco de dados, clique duas vezes em um catálogo de endereços, clique em "Nome" e, em seguida, clique em Inserir. Faça o mesmo para "Sobrenome".

  4. No documento, posicione o cursor entre os dois campos, pressione a tecla de espaço e, em seguida, retorne à caixa de diálogo Campos :

  5. Clique na guia Funções e, em seguida, clique em "Texto condicional" na lista Tipo.

  6. Na caixaCondição , digite: "Addressbook.addresses.firstname"..Nome".

  7. Na caixa Então , digite um espaço, e deixe a caixa Ou em branco.

Agora, é possível utilizar uma condição para inserir texto com base no conteúdo do campo Nome.

  1. Na caixa de diálogo Campos , clique na guia Funções .

  2. Na caixa Tipo , clique em "Texto Condicional".

  3. Na caixa Condição , digite: Addressbook.addresses.firstname == "Miguel"

  4. Na caixa Então, digite "Caro".

  5. Na caixa Senão, digite "Bom dia".

  6. Clique em Inserir.