Contenido
Índice 🔎︎

# Datos

La página de la pestaña Datos define las propiedades del formulario que hacen referencia a la base de datos vinculada al formulario.

Define la fuente de datos en la que se basa el formulario o especifica si el usuario puede editar los datos. Además de las funciones de ordenación y filtraje, también están las funciones necesarias para crear un subformulario.

Para acceder a esta orden…

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

## Añadir datos

Determines if data can be added.

## Añadir sólo datos

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

Si define Añadir sólo datos como "Sí", no podrá modificar ni borrar datos.

## Barra de navegación

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

La opción "Formulario Superior" se usa para subformularios. Si selecciona esta opción para un subformulario, puede recorrer la información usando los registros del formulario principal si el cursor está ubicado en el subformulario. Un subformulario está vinculado al formulario principal por una relación 1:1, de manera que el recorrido de la información siempre se realiza en el formulario superior.

## 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
Predeterminado | Con esta configuración se define automáticamente un ciclo que se rige por una conexión ya existente a una base de datos: si en el formulario existe una conexión a base de datos, al salir del último campo por medio de la tecla Tab la opción predeterminada es pasar al registro anterior o posterior (véase Todos los registros). Si no existe conexión a base de datos, se pasa al formulario anterior o posterior (véase Página actual).
Todos los registros de datos | Esta opción se aplica únicamente a los formularios de base de datos y se utiliza para desplazarse en todos los registros. Si utiliza la tecla Tab para salir del último campo de un formulario, el registro actual cambiará.
Registro actual | Esta opción se aplica únicamente a los formularios de base de datos y se utiliza para desplazarse dentro del registro actual. Si utiliza la tecla Tab para salir del último campo de un formulario, el registro actual cambiará.
Página actual | Al salir del último campo de un formulario, el cursor pasa al primer campo del siguiente formulario. Es una característica predeterminada para los formularios HTML por lo que esta opción resulta especialmente importante para los formularios HTML.

## Contenido

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.

Si en Tipo de contenido ha seleccionado «Tabla» o «Consulta», en el cuadro aparecen todas las tablas y consultas configuradas en la base de datos seleccionada.

## Enlazar campos subordinados

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.

Si se ha introducido como campo de nivel superior "ClienteID" en Vinculación de, indique en Vincular con el nombre de la variable en la cual deban leerse los valores correspondientes al campo de datos "ClienteID". Al introducir con ayuda de estas variables un enunciado SQL en el cuadro Contenido de lista, los valores correspondientes se muestran en el subformulario.

## Filtro

Enter the required conditions for filtering the data in the form. The filter specifications follow SQL rules without using the WHERE clause. For example, if you want to display all records with the "Mike" forename, type into the data field: Forename = 'Mike'. You can also combine conditions: Forename = 'Mike' OR Forename = 'Peter'. All records matching either of these two conditions will be displayed.

La función de filtro está disponible en el modo usuario con los iconos Autofiltro y Filtro predeterminado de la barra barraFormulario.

## Modificar datos

Determines if the data can be modified.

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

Los iconos correspondientes de la barra Formularios se pueden utilizar en el modo usuario para ordenar: Orden ascendente, Orden descendente, Ordenar.

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

## Permitir eliminaciones

Determines if the data can be deleted.

## Tipo de contenido

Define si el origen de datos va a ser una tabla o una consulta de base de datos existente o si se debe generar el formulario a partir de una expresión SQL.

Si elige «Tabla» o «Consulta», el formulario hará referencia a la tabla o consulta que especifique en Contenido. Si desea crear una consulta nueva o un subformulario, seleccione la opción «SQL». Puede introducir la instrucción de la consulta SQL o el formulario directamente en el cuadro Contenido de lista en la pestaña Datos de Propiedades de control.

## Vinculación de

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.

El subformulario se basa en una consulta SQL; más en concreto, en una consulta paramétrica. Si se inserta un nombre de campo en el cuadroEnlazar campos maestros, los datos que figuran en ese campo del formulario principal se leen en una variable que se debe introducir en Enlazar campos subordinados. En una instrucción SQL pertinente, esta variable se compara con los datos de tabla a los que hace referencia el subformulario. Asimismo, el nombre de la columna se puede especificar en el cuadro Enlazar campos maestros.

Pongamos un ejemplo:

Imaginemos que la tabla en la que está basado el formulario es una base de datos de clientes ("Clientes"), y que cada uno de ellos está identificado con un número diferente en un campo de datos denominado "Clientes_ID". Imaginemos además que los pedidos de un cliente se gestionan por medio de otra tabla. Y que necesitamos ver los pedidos de todos los clientes que se han incluido en el formulario. Para ello, tendrá que crear el subformulario e introducir en Vinculación de un campo de la base de datos que permita identificar claramente al cliente; en este caso, el campo "Clientes_ID" (sin comillas). En Vincular con introduzca el nombre de una variable que permita trasladar los datos del campo Clientes_ID, por ejemplo, "x".

En el subformulario se deben mostrar los datos apropiados de la tabla de pedidos ("Orders") para cada ID de cliente (Customer_ID -> x). Sólo puede hacerse si cada pedido está asignado de forma única a un cliente en la tabla de pedidos. Otra posibilidad es utilizar otro campo denominado Customer_ID; no obstante, para asegurarse de que dicho campo no se confunda con el mismo campo del formulario principal, el nombre es Customer_Number.

Compare ahora Customer_Number de la tabla "Orders" con Customer_ID de la tabla "Customers"; para ello puede utilizar la variable x con la siguiente expresión SQL:

SELECT * FROM Pedidos WHERE Cliente_Nr =: x (si desea que el subformulario muestre todos los datos procedentes de la tabla de pedidos)

o bien:

SELECT Artículos FROM Pedidos WHERE Cliente_Nr =: x (si desea que el subformulario muestre sólo aquellos datos de la tabla de pedidos que estén incluidos en el campo "Artículos").

Puede introducir la instrucción SQL en el cuadro Origen de datos o diseñar una consulta paramétrica apropiada para generar el subformulario.

## ¿Qué es un subformulario?

Los formularios se crean a partir de una tabla de base de datos o de una consulta. Representan los datos de un modo ópticamente atractivo y pueden utilizarse para introducir nueva información o para modificar la que se encuentra almacenada en la tabla o consulta en la que se basa el formulario.

Si precisa un formulario que haga referencia a los datos de una tabla o consulta y muestre además los datos de otra tabla, debe crear un subformulario. Por ejemplo, el subformulario puede ser un cuadro de texto que muestre los datos de otra tabla de base de datos.

Un subformulario es un componente adicional del formulario principal. El formulario principal se puede denominar "formulario superior" o "maestro". Los subformularios hacen falta en cuanto se desea acceder a más de una tabla de un formulario. Cada tabla adicional necesita su propio subformulario.

Después de crear un formulario, puede convertirlo en un subformulario. Para ello, acceda al modo de diseño y abra el Navegador de formularios. En el Navegador de formularios, arrastre un formulario (que se convertirá en un subformulario) hacia cualquier otro formulario (que se convertirá en el formulario maestro).

El usuario del documento no ve si un formulario tiene subformularios. Lo único que observa el usuario es un documento en el que se han incorporado datos o en el que se muestran datos que ya figuraban en él.

En los campos de datos del formulario maestro, especifique Vincular campos maestros. En el subformulario, el campo Vincular con se debe configurar como campo que coincida con el contenido de Vincular campos maestros.

Cuando el usuario navega por los datos, el formulario siempre muestra el registro de datos actual. Si se han definido subformularios, el contenido de los subformularios se muestra tras un retraso breve de 200 ms, aproximadamente. Este retraso permite examinar los registros de datos del formulario maestro. Si navega al registro de datos maestro siguiente dentro del intervalo de retraso, no hace falta recuperar ni ver en pantalla los datos del subformulario.