Contenido

# Datos

La pestaña Datos define las propiedades del formulario relacionadas a la base de datos ligada al formulario.

Define el origen de datos en el 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 Properties - Data tab.

Open Form Design toolbar, click Form Properties icon - Data tab.

## Analizar orden SQL

Especifica si LibreOffice debe analizar la instrucción SQL. Si se establece en Sí, puede pulsar en el botón … que se sitúa junto al cuadro de lista Contenido. Esto abrirá una ventana en la que podrá crear gráficamente una consulta de base de datos. Al cerrar esa ventana, la instrucción SQL de la consulta creada se insertará en el cuadro de lista Contenido.

## Añadir solo 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 solo datos como «Sí», no podrá modificar ni eliminar 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

Determina cómo se debe realizar la navegación mediante la tecla Tab. Con la tecla Tab, puede avanzar por el formulario. Si presiona simultáneamente la tecla Mayús, la navegación se realizará en sentido contrario. Si llega al último (o al primer) campo y vuelve a presionar Tab, esto puede tener varios efectos. Defina el control vía teclas con las siguientes opciones:

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

Determina el contenido que se utilizará en el formulario. El contenido puede ser una tabla existente o una consulta (creada previamente en la base de datos), o bien puede definirse mediante una instrucción SQL. Antes de introducir un contenido, debe definir el tipo exacto en Tipo de contenido.

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

Si crea un subformulario, introduzca la variable en la que se puedan almacenar los posibles valores del campo del formulario principal. Si un subformulario se basa en una consulta, introduzca la variable que haya definido en la consulta. Si crea un formulario utilizando una instrucción SQL introducida en el campo Origen de datos, introduzca la variable que haya utilizado en la instrucción. Puede elegir cualquier nombre de variable. Si quiere introducir varios valores, presione Mayús + Intro.

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

Introduzca en el formulario las condiciones necesarias para filtrar los datos. Las especificaciones del filtro siguen las reglas de SQL sin utilizar la cláusula WHERE. Por ejemplo, si desea mostrar todos los registros cuyo nombre sea «Édgar», escriba en el campo de datos: Nombre = 'Édgar'. También puede combinar condiciones: Nombre = 'Édgar' OR Nombre = 'Jorge'. Se mostrarán todos los registros que cumplan cualquiera de estas dos condiciones.

The filter function is available in user mode through the AutoFilter and Standard Filter icons on the Form Navigation Bar.

## Ordenar

Especifica las condiciones para ordenar los datos del formulario. La especificación de las condiciones de ordenación sigue las reglas de SQL sin utilizar la cláusula ORDER BY. Por ejemplo, si quiere que todos los registros de una base de datos se ordenen en un campo en orden ascendente y en otro campo en orden descendente, introduzca Nombre ASC, Apellidos DESC (suponiendo que Nombre y Apellidos son los nombres de los campos de datos).

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 adiciones

Determina si es posible añadir datos.

## Permitir eliminaciones

Determina si los datos pueden eliminarse.

## Permitir modificaciones

Determina si los datos pueden modificarse.

## 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 concretamente, en una consulta con parámetros. Si se introduce un nombre de campo en el cuadro Enlazar campos maestros, los datos contenidos en ese campo del formulario principal se leen en una variable que debe introducir en Enlazar campos subordinados. En una instrucción SQL adecuada, esta variable se compara con los datos de la tabla a la que hace referencia el subformulario. Como alternativa, puede introducir el nombre de la columna 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 solo 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 necesita un formulario que pueda hacer referencia a los datos de una tabla o consulta y que, además, pueda mostrar datos de otra tabla, debe crear un subformulario. Por ejemplo, este subformulario puede ser un cuadro de texto que muestre los datos de otra tabla de la base de datos.

Un subformulario es un componente adicional del formulario principal. El formulario principal se puede denominar «formulario primario» o «principal». 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.

¡Necesitamos su ayuda!