Mòdul
Contingut
Índex 🔎︎

# Dades

La pestanya Dades defineix les propietats del formulari que fan referència a la base de dades que està enllaçada al formulari.

Defineix la font de dades a partir de la qual es basa el formulari, o indica si l'usuari pot editar les dades. A part de les funcions d'ordenació i filtre, també hi trobareu les propietats necessàries per crear un subformulari.

Per a accedir a aquesta ordre...

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.

## Afegeix només dades

Determina si el formulari només permet l'addició de noves dades (Sí) o si també permet altres propietats (No).

Si Afegeix només dades està definit en "Sí", no es poden canviar ni suprimir les dades.

## Analitza l'ordre SQL

Indica si el LibreOffice ha d'analitzar l'expressió SQL. Si es defineix en Sí, podeu fer clic al botó ... que apareix al costat del quadre de llista Contingut. Aquest quadre obre una finestra on podeu crear gràficament una consulta a una base de dades. Quan tanqueu aquesta finestra, l'expressió SQL de la consulta creada s'inserirà al quadre de llista Contingut.

## Barra de navegació

Indica si es poden utilitzar les funcions de navegació a la barra inferior del formulari.

L'opció "Formulari pare" s'utilitza per als subformularis. Si trieu aquesta opció per a un subformulari, podeu navegar utilitzant els registres del formulari principal si el cursor està situat al subformulari. Un subformulari està enllaçat al formulari pare mitjançant una relació 1:1, de manera que la navegació sempre es fa al formulari pare.

## Cicle

Determina com s'ha de fer la navegació amb la tecla de tabulació. Amb la tecla de tabulació podeu avançar pel formulari. Si premeu simultàniament la tecla de majúscules, la navegació es farà cap a la direcció oposada. Si arribeu a l'últim (o al primer) camp i torneu a prémer la tecla de tabulació, poden succeir diverses coses. Definiu el control de la tecla amb les opcions següents:

Opció | Significat
Per defecte | Aquest paràmetre defineix automàticament el cicle que segueix un enllaç a una base de dades que ja existeix: si el formulari conté un enllaç a una base de dades, la tecla de tabulació, com a opció per defecte, iniciarà un canvi cap al registre següent o l'anterior en sortir de l'últim camp (vegeu Tots els registres). Si no hi ha cap enllaç a una base de dades, es mostrarà el formulari següent o l'anterior (vegeu Pàgina actual).
Tots els registres | Aquesta opció només s'aplica als formularis de bases de dades i s'utilitza per navegar per tots els registres. Si utilitzeu la tecla de tabulació per sortir de l'últim camp d'un formulari, es canvia el registre actual.
Registre actiu | Aquesta opció només s'aplica als formularis d'una base de dades, i s'utilitza per navegar dins del registre actual. Si utilitzeu la tecla de tabulació per sortir de l'últim camp d'un formulari, es canvia el registre actual.
Pàgina actual | En sortir de l'últim camp d'un formulari, el cursor salta fins al primer camp del formulari següent. Això passa en tots els formularis HTML; per tant, aquesta opció és especialment important en aquest tipus de formularis.

## Contingut

Determina el contingut que s'ha d'utilitzar per al formulari. El contingut pot ser una taula que ja existeix o una consulta (creada anteriorment a la base de dades), o es pot definir mitjançant una expressió SQL. Abans d'introduir contingut, n'heu de definir el tipus exacte a Tipus de contingut.

Si heu seleccionat "Taula" o "Consulta" al Tipus de contingut, el quadre mostra totes les taules i consultes configurades a la base de dades seleccionada.

## Enllaça els camps esclau

Si creeu un subformulari, introduïu la variable on es poden emmagatzemar els possibles valors del formulari pare. Si un subformulari es basa en una consulta, introduïu la variable que heu definit a la consulta. Si creeu un formulari utilitzant una expressió SQL introduïda al camp Font de dades, introduïu la variable que heu utilitzat a l'expressió. Podeu triar qualsevol nom per a la variable. Si voleu introduir valors múltiples, premeu Maj + Retorn.

Si, per exemple, heu indicat el camp de la base de dades ID_Client com a camp principal a Enllaça els camps mestre, a Enllaça els camps esclau podeu definir el nom de la variable en què s'han d'emmagatzemar els valors del camp de la base de dades ID_Client. Si ara indiqueu una expressió SQL al quadre Font de dades utilitzant aquesta variable, es mostraran els valors adequats al subformulari.

## Enllaça els camps mestre

Si creeu un subformulari, introduïu el camp de dades del formulari pare responsable de la sincronització entre el formulari pare i el subformulari. Per introduir valors múltiples, premeu Maj + Retorn després de cada línia d'entrada.

El subformulari es basa en una consulta SQL i, més específicament, en una Consulta d'un paràmetre. Si s'introdueix un nom de camp al quadre Enllaça els camps mestre, les dades que conté aquest camp en el formulari principal es llegeixen com una variable que heu d'introduir a Enllaça els camps esclau. En una expressió SQL adequada, aquesta variable es compara amb les dades de la taula a la qual es refereix el subformulari. Alternativament, podeu introduir el nom de la columna a Enllaça els camps mestre.

Considereu l'exemple següent:

La taula de la base de dades en la qual es basa el formulari és, per exemple, una base de dades de clients ("Client"), on a cada client se li ha assignat un nombre únic en un camp de dades anomenat "ID_client". Les comandes d'un client es troben en una altra taula d'una base de dades. Ara voleu veure cadascuna de les comandes del client després d'introduir-les al formulari. Per fer-ho, heu de crear un subformulari. A Enllaça els camps mestre introduïu el camp de dades de la base de dades de clients que identifica clarament el client, és a dir, ID_client. A Enllaça els camps esclau introduïu el nom d'una variable que ha d'acceptar les dades del camp ID_Client, per exemple, x.

El subformulari ha de mostrar les dades adequades a partir de la taula de comandes ("Ordres") per a cada ID de client (ID_Client -> x). Això només és possible si a la taula de comandes cada comanda està assignada únicament a un client. Alternativament, podeu utilitzar un altre camp anomenat ID_Client; tanmateix, assegureu-vos que aquest camp no es confongui amb el mateix camp del formulari principal, el camp s'anomena Nombre_Client.

Ara compareu el Nom_client de la taula "Comandes" amb l'ID_client de la taula "Clients", que es pot fer, per exemple, utilitzant la variable x amb l'expressió SQL següent:

SELECT * FROM Orders WHERE Customer_Number =: x (si voleu que el subformulari mostri totes les dades de la taula de comandes)

o:

SELECT Item FROM Orders WHERE Customer_Number =: x (si voleu que el subformulari de la taula de comandes mostri només les dades que hi ha al camp "Element")

L'expressió SQL es pot introduir al camp Font de dades o podeu crear una consulta de paràmetre adequada que es pot utilitzar per crear el subformulari.

## Filtre

Introduïu les condicions necessàries per filtrar dades al formulari. Les indicacions del filtre segueixen regles SQL sense utilitzar la clàusula WHERE. Per exemple, si voleu veure tots els registres amb el nom de pila "Miquel", al camp de dades escriviu: Nom de pila = 'Miquel'. També podeu combinar condicions: Nom de pila = 'Miquel' OR Nom de pila = 'Pere'. Es mostraran tots els registres que coincideixin amb qualsevol d'aquestes dues condicions.

La funció de filtre està disponible en mode d'usuari, mitjançant les icones Filtre automàtic i Filtre per defecte a la barra de Navegació de formularis.

## Font de dades

Defineix la font de dades a la qual s'ha de referir el formulari. Si feu clic al botó ..., cridareu el diàleg Obrir, on podeu triar una font de dades.

## Ordena

Indica les condicions per ordenar les dades al formulari. La indicació de les condicions d'ordenació segueix les regles SQL sense utilitzar la clàusula ORDER BY. Per exemple, si voleu que tots els registres d'una base de dades s'ordenin en un camp en ordre ascendent i en un altre camp en ordre descendent, introduïu Nom de pila ASC i Nom DESC (s'assumeix que el Nom de pila i el Nom són els noms dels camps de dades).

Les icones adequades de la barra Navegació de formularis es poden utilitzar en mode d'usuari per ordenar: Ordre ascendent, Ordre descendent, Ordena.

## Permet addicions

Determina si es poden afegir dades.

## Permet les modificacions

Determina si les dades es poden modificar.

## Permet les supressions

Determina si les dades es poden suprimir.

## Tipus de contingut

Defineix si la font de dades ha de ser una taula d'una base de dades que ja existeix o una consulta, o si el formulari s'ha de generar a partir d'una expressió SQL.

Si trieu "Taula" o "Consulta", el formulari farà referència a la taula o consulta que indiqueu a Contingut. Si voleu crear una nova consulta o un subformulari, heu de triar l'opció SQL. Podeu introduir l'expressió per a la consulta SQL o el subformulari directament al quadre Contingut de la llista de la pestanya Dades de les Propietats de control.

## Què és un subformulari?

Els formularis es creen a partir d'una taula d'una base de dades o d'una consulta a una base de dades. Mostren les dades d'una manera visualment agradable i es poden utilitzar per introduir o editar dades.

Si necessiteu un formulari que es pugui referir a les dades d'una taula o d'una consulta i addicionalment pugui mostrar dades d'una altra taula, heu de crear un subformulari. Per exemple, aquest subformulari pot ser un quadre de text que mostri les dades d'una altra taula d'una base de dades.

Un subformulari és un component addicional del formulari principal. El formulari principal es pot anomenar "formulari pare" o "mestre". Els subformularis són necessaris quan voleu accedir a més d'una taula d'un formulari. Cada taula addicional requereix un subformulari.

Després de crear un formulari, el podeu convertir en un subformulari. Per fer-ho, entreu al Mode disseny i obriu el Navegador de formularis. Al Navegador de formularis, arrossegueu un formulari (que es convertirà en un subformulari) a sobre d'un altre formulari (que es convertirà en formulari mestre).

L'usuari del document no veurà que un formulari té subformularis. L'usuari només veu un document on s'introdueixen dades o on es mostren les dades que ja existeixen.

Indiqueu el camp mestre d'enllaç dels camps de dades al formulari mestre. Al subformulari, el camp esclau d'enllaç es pot definir com a camp que coincidirà amb els continguts del camp mestre d'enllaç.

Quan l'usuari navega per les dades, el formulari mostra sempre el registre de dades actual. Si hi ha subformularis definits, els continguts dels subformularis es mostraran després d'un retard breu d'aproximadament 200 ms. Aquest retard us permet navegar ràpidament pels registres de dades del formulari mestre. Si navegueu cap al següent registre de dades mestre dins del límit del retard, les dades del subformulari no s'hauran de recuperar ni de mostrar.