Contido

# 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 Properties - Data tab.

Open Form Design toolbar, click Form Properties 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

Specifies whether the navigation functions in the lower form bar can be used.

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

Determines how the navigation should be done using the tab key. Using the tab key, you can move forward in the form. If you simultaneously press the Shift key, the navigation will follow the opposite direction. If you reach the last (or the first) field and press the tab key again, it can have various effects. Define the key control with the following options:

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

Determines the content to be used for the form. The content can be an existing table or a query (previously created in the database), or it can be defined by an SQL-statement. Before you enter a content you have to define the exact type in Content type.

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

Determines if the form only allows the addition of new data (Yes) or if it allows other properties as well (No).

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 do filtro seguen as regras de SQL sen empregar a cláusula WHERE. Por exemplo, se desexa mostrar todos os rexistros co nome «Miguel», escriba isto no campo de datos: Nome = 'Miguel'. Tamén pode combinar as condicións: Nome = 'Miguel' OR Nome = 'Pedro'. Mostraranse todos os rexistros que coincidan con calquera destas dúas condicións.

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

Defines the data source to which the form should refer. If you click the ... button, you call the Open dialog, where you can choose a data source.

## Ligar campos dependentes

If you create a subform, enter the variable where possible values from the parent form field can be stored. If a subform is based on a query, enter the variable that you defined in the query. If you create a form using an SQL statement entered in the Data source field, enter the variable you used in the statement. You can choose any variable name. If you want to enter multiple values, press Shift + Enter.

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

If you create a subform, enter the data field of the parent form responsible for the synchronization between parent and subform. To enter multiple values, press Shift + Enter after each input line.

The subform is based on an SQL query; more specifically, on a Parameter Query. If a field name is entered in the Link master fields box, the data contained in that field in the main form is read to a variable that you must enter in Link slave fields. In an appropriate SQL statement, this variable is compared to the table data that the subform refers to. Alternatively, you can enter the column name in the Link master fields box.

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

Specifies the conditions to sort the data in the form. The specification of the sorting conditions follows SQL rules without the use of the ORDER BY clause. For example, if you want all records of a database to be sorted in one field in an ascending order and in another field in a descending order, enter Forename ASC, Name DESC (presuming Forename and Name are the names of the data fields).

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

Determines if data can be added.

## Permitir eliminacións

Determines if the data can be deleted.

## Permitir modificacións

Determines if the data can be modified.

## 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.

If you require a form that can refer to the data in a table or query and can additionally display data from another table, you should create a subform. For example, this subform can be a text box that displays the data of another database table.

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.