Módulo
Contido
Índice 🔎︎

# Datos

O separador Datos define as propiedades do formulario que fan referencia á base de datos con que está ligado.

Define a fonte de datos en que se basea o formulario ou especifica se o usuario pode editar os datos. Alén das funcións de ordenación e filtraxe encontrará as propiedades necesarias para crear un subformulario.

Para acceder a esta orde...

Open context menu of a selected form element - choose Form - Data tab.

Open Form Controls toolbar or Form Design toolbar, click Form icon - Data tab.

## Analizar orde SQL

Specifies whether the SQL statement is to be analyzed by LibreOffice. If set to Yes, you can click the ... button next to the Content list box. This will open a window where you can graphically create a database query. When you close that window, the SQL statement for the created query will be inserted in the Content list box.

## Barra de navegación

Especifica se poden usarse as funcións de navegación da barra de formularios inferior.

The "Parent Form" option is used for subforms. If you choose this option for a subform, you can navigate using the records of the main form if the cursor is placed in the subform. A subform is linked to the parent form by a 1:1 relationship, so navigation is always performed in the parent form.

## Ciclo

Determina como facer a navegación usando a tecla de tabulación. A tecla de tabulación permite avanzar no formulario. Se preme ao mesmo tempo na tecla Maiús, a navegación vai en dirección oposta. Se chega ao último (ou ao primeiro) campo e preme de novo na tecla de tabulación, pode obter efectos diversos. Defina o control de tecla coas seguintes opcións:

Opción | Significado
Predefinido | Esta configuración define automaticamente un ciclo que segue unha ligazón a unha base de datos. Se o formulario contén unha ligazón a unha base de datos, a tecla Tab leva de forma predefinida ao rexistro seguinte ou ao anterior ao saír do último campo (vexa Todos os rexistros). Se non hai ningunha ligazón a unha base de datos, móstrase o formulario seguinte/anterior (vexa Páxina actual).
Todos os rexistros | Esta opción aplícase só a formularios de base de datos e úsase para navegar polos rexistros. Se usa a tecla Tab para saír do último campo do formulario, modifícase o rexistro actual.
Rexistro activo | Esta opción aplícase só a formularios da base de datos e úsase para navegar polo rexistro actual. Se usa a tecla Tab para saír do último campo do formulario, modifícase o rexistro actual.
Páxina actual | Ao saír do último rexistro dun formulario, o cursor vai ao primeiro campo do seguinte formulario. Nos formularios HTML esta opción é estándar e, polo tanto, especialmente relevante.

## Contido

Determina que contido debe utilizarse para o formulario. Pode ser unha táboa ou consulta previamente creada na base de datos ou pode definirse mediante unha instrución SQL. Antes de introducir un contido debe definir o tipo exacto en Tipo de contido.

Seleccionando "Táboa" ou "Consulta" en Tipo de contido, a caixa lista as táboas e consultas configuradas na base de datos seleccionada.

## Engadir só datos

Determina se o formulario só permite incluír datos novos (Si) ou se tamén permite outras propiedades (Non).

Se a opción Engadir só datos está definida como "Si", non é posíbel modificar nin eliminar datos.

## Filtro

Introduza as condicións requiridas para filtrar os datos no formulario. As especificacións de filtro seguen as regras SQL sen usar a cláusula WHERE. Por exemplo, se desexa exhibir os rexistros que conteñan o nome propio "Paulo", teclee no campo de datos Nome propio = 'Paulo'. Tamén pode combinar as condicións Nome propio = Paulo OU Nome propio = Duarte. Mostraranse os rexistros que cumpran ambas.

A función de filtro é accesíbel en modo usuario mediante as iconas Filtro automático e Filtro predefinido situadas na barra de Navegación do formulario.

## Fonte de datos

Define a fonte de datos a que debe facer referencia o formulario. Se preme no botón ..., abrirase a caixa de diálogo Abrir, onde poderá escoller unha fonte de datos.

## Ligar campos dependentes

Se crea un subformulario, introduza a variábel onde se poidan almacenar os valores posíbeis do campo do formulario superior. Se o subformulario se basea nunha consulta, introduza a variábel que definiu na consulta. Se crea un formulario mediante a introdución dunha instrución SQL no campo Fonte de datos, introduza a variábel que usou na instrución. Pode escoller calquera nome de variábel. Para introducir múltiplos valores, prema Maiús +Intro.

Se, por exemplo, introduce o campo ID_cliente como campo superior en Ligar campos principais, pode definir en Ligar campos dependentes o nome da variábel onde van almacenarse os valores dese campo. Se especifica unha instrución SQL na caixa Fonte de datos usando esa variábel, os valores correspondentes móstranse no subformulario.

## Ligar campos principais

Se crea un subformulario, introduza o campo de datos do formulario superior responsábel da sincronización entre el e o subformulario. Para introducir varios valores, prema Maiús + Intro despois de cada liña de entrada.

O subformulario baséase nunha consulta SQL; máis concretamente, nunha consulta de parámetros. Se introduce o nome dun campo na caixa Ligar campos principais, os datos contidos nese campo do formulario lense nunha variábel que debe introducir en Ligar campos dependentes. Nunha instrución SQL apropiada, esta variábel compárase cos datos de táboa a que fai referencia o subformulario. Como alternativa, pode introducir o nome de columna na caixa Ligar campos principais.

Vexa o seguinte exemplo:

A táboa en que se basea o formulario é, por exemplo, unha base de datos de clientes ("Cliente") en que cada un deles é identificado por medio dun número nun campo de datos chamado "ID_cliente". Os pedidos dos clientes están noutras táboas da base de datos. Quere ver os pedidos de cada cliente despois de inserilos no formulario. Para iso debe crear un subformulario. Introduza en Ligar campos principais o campo de datos da base de datos de clientes que identifica o cliente, ou sexa, o ID_cliente. Introduza en Ligar campos dependentes o nome dunha variábel que acepte os datos do campo ID_cliente, por exemplo, x.

O subformulario debe mostrar os datos apropiados da táboa de pedidos ("Pedidos") para cada ID de cliente (ID_cliente -> x). Isto só é posíbel se na táboa de pedidos se atribúe cada pedido a un único cliente. Como alternativa, pode utilizar outro campo chamado ID_cliente; no entanto, para non confundilo co campo do formulario principal chamarase Número_cliente.

Compare agora os campos Número_cliente da táboa "Pedidos" e ID_cliente da táboa "Clientes". Para facelo pode, por exemplo, usar a variábel x coa seguinte instrución SQL:

SELECT * FROM Pedidos WHERE Número_cliente =: x (se quere que o subformulario exhiba todos os datos da táboa de pedidos)

ou:

SELECT Artigo FROM Pedidos WHERE Número_cliente =: x (se quere que o subformulario da táboa de pedidos exhiba só os datos presentes no campo "Artigo")

Pode introducir a instrución SQL no campo Fonte de datos ou crear unha consulta de parámetros apropiada para crear o subformulario.

## Ordenar

Especifica as condicións para ordenar os datos no formulario. A especificación das condicións de ordenación segue as regras SQL sen usar a cláusula ORDER BY. Por exemplo, se desexa ordenar os rexistros dunha base de datos de forma ascendente nun campo e descendente noutro, introduza Nome propio ASC, Apelidos DESC (presupondo que Nome propio e Apelidos son os nomes dos campos de datos).

As iconas correspondentes da barra de Navegación de formularios poden empregarse en modo usuario para clasificar: Orde ascendente, Orde descendente, Ordenar.

## Permitir adicións

Determina se é posíbel engadir datos.

## Permitir eliminacións

Determina se é posíbel eliminar os datos.

## Permitir modificacións

Determina se é posíbel modificar datos.

## Tipo de contido

Define se a fonte de datos vai ser unha táboa ou consulta existente na base de datos ou se o formulario vai xerarse a partir dunha instrución SQL.

Se escolle "Táboa" ou "Consulta", o formulario fai referencia á táboa ou consulta especificada en Contido. Se desexa crear unha consulta ou un subformulario, escolla a opción "SQL". Poderá entón introducir a instrución para a consulta SQL ou para o subformulario directamente na caixa Contido da lista, no separador Datos de Propiedades do control.

## Que son os subformularios?

Os subformularios créanse a partir dunha táboa ou consulta de base de datos, mostran os datos dunha maneira visualmente atraente e poden usarse para introducir e editar datos.

Se precisa dun formulario que faga referencia aos datos dunha táboa ou consulta e ademais exhiba datos doutra táboa, debe crear un subformulario. Este pode ser, por exemplo, unha caixa de texto que mostre os datos doutra táboa de base de datos.

Os subformularios son compoñentes adicionais do formulario principal, que tamén se denomina "superior". Os subformularios son necesarios para acceder a máis dunha táboa do formulario. Cada táboa adicional require o seu propio subformulario.

Os formularios poden transformarse en subformularios. Para facelo, acceda ao modo deseño e abra o Explorador de formularios. Neste, arrastre o formulario, que se converterá en subformulario, ata outro formulario, que pasará a ser o principal.

Os usuarios do seu documento non ven se o formulario posúe subformularios; ven un documento onde se insiren ou mostran datos.

Especifique Ligar campos principais a partir dos campos de datos do formulario principal. No subformulario, Ligar campo dependente pode configurarse de forma que coincida co contido de Ligar campos principais.

Ao navegar polos datos, o formulario sempre mostra o rexistro de datos actual. Se se definiron subformularios, o seu contido móstrase despois dun breve atraso de 200 ms que permite percorrer rapidamente os rexistros de datos do formulario principal. Se chega ata o seguinte rexistro principal de datos antes dese tempo, non será necesario recuperar e mostrar os datos do subformulario.