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 comando SQL

Especifica si la sentencia SQL se analizará por LibreOffice. Si se establece como Si, puede presionar el botón ... junto al cuadro de lista Contenido. Con esto se abrirá una ventana para crear gráficamente una consulta a la base de datos. Cuando cierre la ventana, la sentencia SQL de la consulta se insertará en el cuadro de lista Contenido.

## Añadir datos

Determina si se pueden agregar datos.

## Añadir sólo datos

Determina si el formulario sólo permite agregar datos nuevos (Sí) o si también admite otras propiedades (No).

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

## Barra de navegación

Especifica si se pueden utilizar las funciones de navegación de la barra de formularios inferior.

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 el comportamiento de la tecla del tabulador durante la navegación. La tecla del tabulador le permite desplazarse hacia adelante en el formulario. Si oprime simultáneamente la tecla Mayús, la navegación se produce en la dirección opuesta. Si alcanza el último (o el primer) campo y oprime la tecla Tab de nuevo, pueden producirse varios efectos. Defina el efecto de la tecla por medio de las opciones siguientes:

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 debe usar para el formulario. El contenido puede ser una tabla o una consulta (creada anteriormente en la base de datos), o puede estar definida mediante una expresión SQL. Antes de escribir un contenido, se 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, escriba las variables en las que se puedan guardar valores posibles del campo del formulario superior. Si el subformulario se basa en una consulta, escriba la variable definida en la consulta. Si ha creado un formulario mediante una expresión SQL introducida en el campo Origen de datos escriba la variable utilizada en la expresión. Puede elegir cualquier nombre de variable. Para introducir valores múltiples pulse Mayús + Entrar.

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

Escriba las condiciones necesarias para filtrar los datos en el formulario. Las especificaciones de filtro siguen las reglas SQL sin emplear la cláusula WHERE. Por ejemplo, si quiere mostrar todos los registros que tengan el nombre "Miguel", escriba en el campo de datos: Nombre = 'Miguel'. También puede combinar condiciones: Nombre= Miguel O Nombre= Pedro. Se mostrarán todos los registros que cumplan con esas dos condiciones.

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

## Modificar datos

Determina si se pueden modificar datos.

## Ordenar

Especifica las condiciones de ordenación de los datos en el 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 desea que todos los registros de una base de datos se ordenen de forma ascendente según un campo y descendente según otro campo, escriba Nombre ASC, Apellidos DESC (suponiendo que los nombres de los campos de datos sean Nombre y Apellidos).

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

## Origen de datos

Define el origen de datos al que debe hacer referencia el formulario. Si hace clic en el botón ..., aparece el diálogo Abrir, en el cual se puede seleccionar un origen de datos.

## Permitir eliminaciones

Determina si se pueden borrar datos.

## 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 ficha Datos de Propiedades de control.

## Vinculación de

Si crea un subformulario, introduzca el campo de datos del formulario superior responsable de la sincronización entre el formulario superior y el subformulario. Para escribir varios valores, pulse Mayús + Entrar después de cada línea de entrada.

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.