Módulo
Conteúdo
Índice 🔎︎

# Dados

O separadorDados permite atribuir uma origem de dados ao controlo selecionado.

Para aceder a este comando...

Abra o menu de contexto de um elemento de formulário selecionado e escolha Controlo - Dados.

Abra a barra de ferramentas Controlos de formulário ou a barra de ferramentas Design de formulário, clique no ícone Controlo, separador Dados

Relativamente aos formulários com ligações a uma base de dados, a base de dados associada é definida nas Propriedades de formulário. Pode encontrar as funções para este procedimento no separador Dados.

As definições do separador Dados de um controlo dependem do respetivo controlo. Só pode visualizar as opções disponíveis para o controlo e o contexto atuais.
Estão disponíveis os seguintes campos:

## A cadeia de caracteres vazia é NULL

Define a forma como uma entrada de cadeia vazia deve ser tratada. Se estiver definida como Sim, uma cadeia de entrada de comprimento zero é processada como um valor NULL. Se estiver definida como Não, todas as entradas serão processadas tal como estão, não ocorrendo qualquer conversão.

Uma cadeia vazia consiste numa cadeia de comprimento zero (""). Normalmente, um valor NULL não é o mesmo que uma cadeia vazia. De uma forma geral, um termo NULL é utilizado para indicar um valor indefinido, um valor desconhecido ou que "ainda não foi introduzido qualquer valor."

Os sistemas de base de dados variam e podem processar um valor NULL de forma diferente. Consulte as documentações das bases de dados que está a utilizar.

## Campo de dados

Em formulários de base de dados, é possível ligar controlos aos campos de dados.

Existem várias possibilidades:

1. Primeiro caso: Existe apenas uma tabela no formulário.

   Em Campo de dados, especifique a tabela de origem de dados cujo conteúdo pretende mostrar.

2. Segundo caso: o controlo pertence a um subformulário que é criado por uma consulta SQL.

   Em Campo de dados, especifique o campo da instrução SQL cujo conteúdo pretende mostrar.

1. Terceiro caso: Caixas de combinação

   Relativamente a caixas de combinação, o campo da tabela de origem de dados onde os valores introduzidos ou selecionados pelo utilizador deverão ser armazenados é especificado em Campo de dados. Os valores apresentados na lista da caixa de combinação são baseados numa instrução SQL, que é introduzida em Conteúdo de lista.

2. Quarto caso: Caixas de lista

   A tabela de origem de dados não contém os dados a mostrar, mas sim uma tabela associada à tabela de origem de dados através de um campo de dados comum.

   Se quiser que uma caixa de lista mostre dados de uma tabela associada à tabela de origem de dados atual, em Campo de dados e especifique o campo da tabela de origem de dados a que o conteúdo da caixa de lista se refere. Pode também especificar o campo da base de dados que controla a apresentação dos dados no formulário. Este campo de dados fornece a ligação à outra tabela, caso seja possível associar ambas as tabelas através de um campo de dados comum. Este campo consiste, normalmente, num campo de dados onde são armazenados números de identificação exclusivos. O campo de dados cujo conteúdo é apresentado no formulário é especificado por uma instrução SQL em Conteúdo de lista.

As caixas de lista trabalham com referências. Estas podem ser implementadas com tabelas associadas por instruções SQL (quarto caso) ou através de listas de valores:

Referências através de tabelas associadas (instruções SQL)

Se quiser que uma caixa de lista mostre os dados de uma tabela de base de dados associada por um campo de dados comum à tabela na qual o formulário é baseado, o campo de ligação da tabela do formulário é especificada em Campo de dados.

A ligação é criada através de uma instrução SQL Select, que, caso tenha selecionado "SQL" ou "SQL Nativo", é especificada em Tipo de conteúdo de lista no campo Conteúdo de lista. Por exemplo, uma tabela "Encomendas" está associada ao controlo de formulário atual e, na base de dados, uma tabela "Clientes" está associada à tabela "Encomendas". Pode utilizar uma instrução SQL do seguinte modo:

SELECIONAR Nome do cliente, Nº de cliente FROM Clientes,

em que "Nome do cliente" é o campo de dados da tabela "Clientes" e "N.º de cliente" é o campo da tabela "Clientes" , associado a um campo da tabela de formulário "Encomendas", especificada em Campo de dados.

Referências utilizando listas de valores

Para caixas de lista, é possível utilizar listas de valores. As listas de valores são listas que definem valores de referência. Deste modo, o controlo no formulário não apresenta diretamente o conteúdo de uma base de dados, mas valores atribuídos na lista de valores.

Se trabalhar com valores de referência de uma lista de valores, não é visível o conteúdo do campo de dados que especificou em Campo de dados no formulário, mas os valores atribuídos. Se escolheu "Lista de valores" no separador Dados em Tipo de conteúdo de lista e atribuiu um valor de referência às entradas de lista visíveis no formulário em Entradas de lista (introduzidas no separador Geral), os valores de referência são comparados com o conteúdo de dados do campo de dados apresentado. Se um valor de referência corresponder ao conteúdo de um campo de dados, as entradas de lista associadas são apresentadas no formulário.

## Campo ligado

Se eliminar o conteúdo da célula Campo de ligação no navegador de propriedades, o primeiro campo do conjunto de resultados é utilizado para mostrar e trocar dados.

Esta propriedade de caixas de lista define o campo de dados de uma tabela associada a mostrar no formulário.

Se quiser que uma caixa de lista no formulário mostre o conteúdo de uma tabela associada à tabela do formulário defina, no campo Tipo de conteúdo de lista, se a exibição é determinada por um comando SQL ou se é acedida pela tabela (associada). Com a propriedade Campo associado, é utilizado um índice para especificar o campo de dados da consulta ou da tabela a que o campo de lista se encontra associado.

A propriedade Campo de ligação destina-se apenas a formulários que são utilizados para aceder a mais do que uma tabela. Se o formulário for baseado numa única tabela, o campo a mostrar no formulário é especificado diretamente em Campo de dados. No entanto, se quiser que a caixa de lista mostre dados de uma tabela associada à tabela atual por um campo de dados comum, o campo de dados associado é definido pela propriedade Campo de ligação.

Se selecionou "SQL" em Tipo de conteúdo de lista, o comando SQL determina o índice a especificar. Exemplo: Se especificar um comando SQL como, por exemplo, "SELECIONAR Campo1, Campo2 de nome de tabela" em Conteúdo de lista, consulte a seguinte tabela:

Campo de ligação | Ligação
-1 | O índice da entrada selecionada está associado ao campo especificado em Campo de dados.
{vazio} ou 0 | O campo de base de dados "Campo1" está associado ao campo especificado em Campo de dados.
1 | O campo de base de dados "Campo2" está associado ao campo especificado em Campo de dados.

Se selecionou "Tabela" em Tipo de conteúdo de lista, a estrutura da tabela define o índice a especificar. Exemplo: Se for selecionada uma tabela de base de dados em Conteúdo de lista, consulte a seguinte tabela:

Campo de ligação | Ligação
-1 | O índice da entrada selecionada está associado ao campo especificado em Campo de dados.
{vazio} ou 0 | A primeira coluna da tabela está associada ao campo especificado em Campo de dados.
1 | A segunda coluna da tabela está associada ao campo especificado em Campo de dados.
2 | A terceira coluna da tabela está associada ao campo especificado em Campo de dados.

## Conteúdo da célula associada

Selecione o modo de ligação de uma caixa de lista a uma célula associada na folha de cálculo.

1. Conteúdo associado: sincronize o conteúdo de texto da entrada da caixa de lista selecionada com o conteúdo da célula. Selecione "A entrada selecionada".

2. Posição de seleção associada: a posição do item selecionado na caixa de lista é sincronizada com o valor numérico existente na célula. Selecione "Posição da entrada selecionada".

## Conteúdo de lista

Com formulários de base de dados, especifica a origem de dados do conteúdo de lista do elemento de formulário. Este campo pode ser utilizado para definir uma lista de valores para documentos sem ligação a uma base de dados.

No caso de formulários de base de dados, a origem de dados determina as entradas da lista ou da caixa de lista ou de combinação. Dependendo do tipo selecionado, é possível escolher entre diferentes origens de dados em Conteúdo de lista, desde que esses objetos existam na base de dados. Todos os objetos de base de dados disponíveis, do tipo selecionado em Tipo de conteúdo de lista, são disponibilizados neste local. Se tiver selecionado a opção "Lista de valores" como tipo, pode utilizar referências para formulários de base de dados. Se a apresentação do controlo for controlada por um comando SQL, a instrução SQL é introduzida neste local.

Exemplos de instruções SQL:

Para caixas de lista, uma instrução SQL pode ter a seguinte forma:

SELECT campo1, campo2 FROM tabela,

Aqui, "tabela" corresponde à tabela cujos dados são exibidos na lista do controlo (tabela de lista). O "campo1" corresponde ao campo de dados que define as entradas visíveis no formulário, sendo o respetivo conteúdo apresentado na caixa de lista. O "campo2" corresponde ao campo da tabela de lista que está associada a uma tabela de formulário (tabela de valores) através do campo especificado em Campo de dados, caso tenha sido selecionado Campo de ligação = 1.

Para caixas de combinação, uma instrução SQL pode ter a seguinte forma:

SELECT campo DISTINCT FROM tabela,

Aqui, "campo" corresponde a um campo de dados da tabela de lista "tabela", cujo conteúdo é apresentado na lista da caixa de combinação.

Listas de valores para documentos HTML

Para formulários HTML, pode introduzir uma lista de valores em Conteúdo de lista. Selecione a opção "Lista de valores" em Tipo de conteúdo de lista. Os valores introduzidos neste local não serão visíveis no formulário e são utilizados para atribuir valores às entradas visíveis. As entradas efetuadas em Conteúdo de lista correspondem à etiqueta HTML <OPTION VALUE=...>.

Na transferência de dados de uma entrada selecionada de uma caixa de lista ou de uma caixa de combinação, tanto a lista dos valores apresentados no formulário, introduzida no separador Geral em Entradas de lista, como a lista de valores introduzida no separador Dados em Conteúdo de lista, são tidas em consideração: Se um texto (não vazio) se encontrar na posição selecionada na lista de valores (<OPTION VALUE=...>), será transmitido. Caso contrário, o texto exibido no controlo (<OPTION>) é enviado.

Se quiser que a lista de valores contenha uma cadeia vazia, introduza o valor "$$$empty$$$" em Conteúdo de lista na posição correspondente (tenha em atenção as maiúsculas/minúsculas). O LibreOffice interpreta esta entrada como uma cadeia vazia e atribui-a à respetiva entrada de lista.

A tabela seguinte mostra as ligações entre HTML, JavaScript e o campo do LibreOffice Conteúdo de lista utilizando uma caixa de lista exemplo denominada de "Listbox1". Neste caso, "Item" designa uma entrada de lista visível no formulário:

Etiqueta HTML | JavaScript | Entrada na lista de valores do controlo (Conteúdo de lista) | Dados transmitidos
<OPTION>Item | Não é possível | "" | a entrada de lista visível ("Listbox1=Item")
<OPTION VALUE="Value">Item | ListBox1.options[0].value="Value" | "Valor" | O valor atribuído à entrada de lista ("ListBox1=Value")
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | Uma cadeia vazia ("ListBox1=")

## Célula associada

Especifica a referência para uma célula associada da folha de cálculo. O conteúdo ou estado do controlo estão associados ao conteúdo da célula. As tabelas seguintes mostram uma lista dos controlos e do tipo de ligação correspondente:

### Caixa de verificação com célula associada

Ação | Resultado
Marque a caixa de verificação: | VERDADEIRO foi introduzido na célula associada.
Desmarque a caixa de verificação: | FALSO foi introduzido na célula associada.
A caixa de verificação de estado triplo é definida como estado "indeterminado": | #NV foi introduzido na célula associada.
Introduza um número ou uma fórmula que devolva um número na célula associada: | Se o valor introduzido for VERDADEIRO ou não for 0: a caixa de verificação está marcada Se o valor introduzido for FALSO ou 0: a caixa de verificação está desmarcada
Limpe a célula associada, introduza texto ou introduza uma fórmula que devolva texto ou um erro: | A caixa de verificação está definida com o estado "indeterminado", se for uma caixa de estado triplo, caso contrário, a caixa está desmarcada.
Selecione a caixa. A caixa do valor Referência contém texto: | O texto da caixa de valor de referência é copiado para a célula.
Desmarque a caixa. A caixa do valor Referência contém texto. | Uma cadeia vazia é copiada na célula.
A caixa de valor de referência contém texto. Introduza o mesmo texto na célula: | A caixa de verificação está marcada.
A caixa de valor de referência contém texto. Introduza outro texto na célula: | A caixa de verificação está desmarcada.

### Botão de opção com célula associada

Ação | Resultado
Selecionar o botão de opção: | VERDADEIRO foi introduzido na célula associada.
O botão de opção é desmarcado marcando outro botão de opção: | FALSO foi introduzido na célula associada.
Introduza um número ou uma fórmula que devolva um número na célula associada: | Se o valor introduzido for VERDADEIRO ou não for 0: a caixa de verificação está marcada. Se o valor introduzido for FALSO ou 0: a caixa de verificação está desmarcada.
Limpe a célula associada, introduza texto ou introduza uma fórmula que devolva texto ou um erro: | O botão de opção é desmarcado.
Clique no botão de opção. A caixa do valor Referência contém texto. | O texto da caixa de valor de referência é copiado para a célula.
Clique noutro botão de opção do mesmo grupo. A caixa do valor Referência contém texto. | Uma cadeia vazia é copiada na célula.
A caixa de valor de referência contém texto. Introduza o mesmo texto na célula: | O botão de opção é selecionado.
A caixa de valor de referência contém texto. Introduza outro texto na célula: | O botão de opção é desmarcado.

### Caixa de texto com célula associada

Ação | Resultado
Introduzir texto na caixa de texto: | O texto é copiado para a célula associada.
Limpar caixa de texto: | A célula associada é desmarcada.
Introduza texto ou um número na célula associada: | O texto ou número é copiado para a caixa de texto.
Introduza uma fórmula na célula associada: | O resultado da fórmula é copiado para a caixa de texto.
Limpar célula associada: | A caixa de texto é desmarcada.

### Campo numérico e campo formatado com célula associada

Ação | Resultado
Introduzir um número no campo: | O número é copiado para a célula associada.
Limpar campo: | O valor 0 está definido na célula associada.
Introduza um número ou uma fórmula que devolva um número na célula associada: | O número é copiado para a célula associada.
Limpe a célula associada, introduza texto ou introduza uma fórmula que devolva texto ou um erro: | O valor 0 é definido no campo.

### Caixa de lista com célula associada

As caixas de lista permitem dois modos de associação. Consulte a propriedade "Conteúdo da célula associada".

1. Conteúdo associado: sincronize o conteúdo de texto da entrada da caixa de lista selecionada com o conteúdo da célula.

2. Posição de seleção associada: a posição do item selecionado na caixa de lista é sincronizada com o valor numérico existente na célula.

Ação | Resultado
Selecionar um único item da lista: | O conteúdo está associado: o texto do item é copiado para a célula associada. A seleção está associada: a posição do item selecionado é copiada para a célula associada. Por exemplo, se o terceiro item for selecionado, o número 3 será copiado.
Selecionar vários itens da lista: | #NV foi introduzido na célula associada.
Desmarcar todos os itens da lista: | O conteúdo está associado: a célula associada é desmarcada. A seleção está associada: o valor 0 é introduzido na célula associada.
Introduza texto ou um número na célula associada: | O conteúdo está associado: localize e selecione um item de lista idêntico. A seleção está associada: o item da lista na posição especificada (começando com 1 para o primeiro item) é marcado. Se não for localizado, todos os itens são desmarcados.
Introduza uma fórmula na célula associada: | Localize e selecione um item de lista que corresponda ao resultado da fórmula e ao modo de ligação.
Limpar célula associada: | Desmarcar todos os itens da caixa de lista:
Altere o conteúdo do intervalo de origem da lista: | Os itens da caixa de lista são atualizados de acordo com a alteração. A seleção é preservada. Esta situação poderá levar a uma atualização da célula associada.

### Caixa de combinação com célula associada

Ação | Resultado
Introduza o texto no campo de edição da caixa de combinação ou selecione uma entrada da lista suspensa: | O texto é copiado para a célula associada.
Limpar campo de edição da caixa de combinação. | A célula associada é desmarcada.
Introduza texto ou um número na célula associada: | O texto ou o número é copiado para o campo de edição da caixa de combinação.
Introduza uma fórmula na célula associada: | O resultado da fórmula é copiado para o campo de edição da caixa de combinação.
Limpar célula associada: | O campo de edição da caixa de combinação é limpo.
Altere o conteúdo do intervalo de origem da lista: | Os itens da lista suspensa são atualizados de acordo com a alteração. O campo de edição da caixa de combinação e da célula associada não são alterados.

## Intervalo de células origem

Introduza um intervalo de células que contenha as entradas para uma caixa de lista ou caixa de combinação numa folha de cálculo. Se introduzir um intervalo multicolunas, apenas o conteúdo da coluna mais à esquerda é utilizado para preencher o controlo.

## Proposta de filtro

Ao criar o formulário, pode definir a propriedade "Proposta de filtro" para cada caixa de texto no separador Dados da caixa de diálogo Propriedades correspondente. Em procuras posteriores, no modo de filtro, é possível selecionar a partir de todas as informações incluídas nestes campos. Em seguida, é possível selecionar o conteúdo do campo, utilizando a função Conclusão automática. Contudo, tenha em atenção que esta função requer uma grande quantidade de espaço de memória e tempo, em especial quando é utilizada em bases de dados de grandes dimensões, pelo que deve ser utilizada com moderação.

## Tipo de conteúdo de lista

Determina os dados que preencherão as listas em caixas de lista e de combinação.

Com a opção "Lista de valores", todas as entradas introduzidas no campo Entradas de lista do separador Geral são apresentadas no controlo. Para formulários de base de dados, é possível utilizar valores de referência (consulte a secção Referências utilizando listas de valores).

Se o conteúdo do controlo for lido a partir de uma base de dados, é possível determinar o tipo da origem de dados com as restantes opções. Por exemplo, é possível escolher entre tabelas e consultas.

## Valor de referência (ativo)

É possível atribuir um valor de referência a botões de opção e caixas de verificação. O valor de referência será reencaminhado para um servidor quando o formulário for enviado. Em formulários de base de dados, o valor introduzido neste campo será escrito na base de dados atribuída ao campo de controlo.

Valores de referência para formulários web

Os valores de referência são úteis caso crie um formulário web em que as informações sobre o estado do controlo devam ser transmitidas a um servidor. Se o utilizador clicar no controlo, o valor de referência correspondente é enviado para o servidor.

Por exemplo, se existirem dois campos de controlo para as opções "feminino" e "masculino" , e atribuir um valor de referência 1 ao campo "feminino" e o valor 2 ao campo "masculino", o valor 1 é transmitido ao servidor se um utilizador clicar no campo "feminino" e o valor 2 é enviado se clicar no campo "masculino".

Valores de referência para formulários de base de dados

Para formulários de base de dados, também é possível caracterizar o estado de uma opção ou de uma caixa de verificação, através de um valor de referência, armazenando o mesmo na base de dados. Se tiver um conjunto de três opções, por exemplo, "em curso", "concluído" e "reenvio", com os respetivos valores de referência, "AFazer", "Aceitar" e "RE", estes valores de referência são apresentados na base de dados se clicar na respetiva opção.

## Valor de referência (inativo)

As caixas de verificação e os botões de opção nas folhas de cálculo, podem ser limitados a células no documento atual. Se o controlo estiver ativo, o valor de referência (ativo) é copiado para a célula. Se o controlo estiver inativo, o valor de referência (inativo) é copiado para a célula.