Innhold
Innholdsliste 🔎︎

# Data

Fanen Data styrer skjemaegenskapene som refererer til databasen som er lenket til skjemaet.

Velger datakilden som skjemaet er basert på, eller velger om brukeren kan redigere dataene. Bortsett fra funksjoner for sortering og filtrering, finner du også alle egenskapene som er nødvendig for å lage et underskjema.

For å bruke denne funksjonen …

Open context menu of a selected form element - choose Form Properties - Data tab.

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

## Analyser SQL-kommando

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.

## Datakilde

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.

## Filter

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.

Filterfunksjonen er tilgjengelig i brukermodus via knappene Autofilter og Standardfilter på verktøylinja Skjemanavigasjon.

## Innhold

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.

Hvis du har valgt enten «Tabell» eller «Spørring» som Innholdstype, viser denne lista alle tabellene og spørringene som er satt opp i den valgte databasen.

## Innholdstype

Angi om datakilden skal være en databasetabell eller en spørring, eller om skjemaet skal bli laget ut fra en SQL-setning.

Hvis du velger «Tabell» eller «Spørring», vil skjemaet vise til tabellen eller spørringen du har valgt under Innhold. Hvis du vil lage en ny spørring eller et underskjema, må du velge «SQL-kommando». Du kan da skrive inn uttrykket for SQL-spørringen eller underskjemaet direkte i Listeinnhold på fanen «Data» i egenskapene til kontrollelementet.

## Legg bare til data

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

Hvis Legg bare til data er sett til «Ja», er det ikke mulig å endre eller slette data.

## Lenk sammen hovedfeltene

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.

Studer det følgende eksemplet:

Databasetabellen som skjemaet er basert på er en kundedatabase («Kunde») der hver kunde har et unikt nummer i datafeltet «KundeID». Ordrene til kundene ligger i en annen tabell. Du vil nå se ordrene til hver kunde etter å ha skrevet dem inn i skjemaet. Til dette kan du bruke et underskjema. Under Lenk sammen hovedfeltene skriv du inn det datafeltet fra kundedatabasen som identifiserer kunden, altså «KundeID». Under Lenk sammen slavefeltene skriv du inn navnet på en variabel som skal motta data fra «KundeID», for eksempel «x».

Underskjemaet bør vise data fra ordretabellen («Ordre») for hver kunde-ID (KundeID → x). Dette er bare mulig dersom hver ordre er unikt tilordna én kunde i ordretabellen. Du kan også bruke et annet felt kalt «KundeID», men for å hindre at det blir forvekslet med det samme feltet fra hovedskjemaet, kaller vi det «Kundenummer».

Nå sammenlikner du Kundenummer i «Ordre»-tabellen med KundeID fra «Kunder»-tabellen. Det kan du for eksempel gjøre ved hjelp av variabelen x og det følgende SQL-uttrykket:

SELECT * FROM Ordre WHERE Kundenummer =: x (Dersom du vil at underskjemaet skal vise alle datene fra ordretabellen.)

eller:

SELECT Element FROM Ordre WHERE Kundenummer =: x (Dersom du vil at underskjemaet fra ordretabellen bare skal vise datene som ligger i feltet «Element».)

SQL-uttrykket kan enten skrives inn i feltet Datakilde eller lages som en parameterspørring du kan bruke til å lage underskjemaet.

## Lenk sammen slavefeltene

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.

Dersom du for eksempel har valgt databasefeltet «KundeID» som foreldrefelt under Lenk sammen hovedfeltene, kan du velge navnet på variabelen der verdiene fra «KundeID» skal lagres under Lenk sammen slavefeltene. Dersom du nå bruker denne variabelen i et SQL-uttrykk i feltet Datakilde, blir de relevante verdiene vist i underskjemaet.

## Navigasjonslinje

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

Alternativet «Overordnet skjema» brukes til delskjemaer. Hvis du velger dette alternativet for et delskjema, kan du bruke postene i hovedskjemaet til å navigere hvis markøren står i delskjemaet. Et delskjema er lenket til det overordnede skjemaet i et 1:1-forhold, slik at navigering alltid skjer i det overordnede skjemaet.

## Sorter

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

Noen av knappene på verktøylinja Skjemanavigasjon kan brukes til sortering i brukermodus: Sorter stigende, Sorter synkende, Sorter.

## Syklus

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:

Alternativ | Betydning
Standard | Denne innstillingen lager automatisk en syklus som følger en databaselenke: Hvis skjemaet inneholder en databaselenke, vil tabulatortasten som standard skifte til neste eller forrige post når du går ut av det siste feltet (se «Alle poster»). Hvis skjemaet ikke har noen databaselenke, blir det neste eller forrige skjemaet vist (se «Denne siden»).
Alle poster | Dette alternativet gjelder bare for databaseskjemaer, og brukes til å navigere gjennom alle postene. Hvis du går ut av det siste feltet i et skjema med tabulatortasten, endres den gjeldende posten.
Denne posten | Dette alternativet gjelder bare for databaseskjemaer, og brukes til å navigere innenfor den gjeldende posten. Hvis du går ut av det siste feltet i et skjema med tabulatortasten, endres den gjeldende posten.
Denne siden | Når du går ut av det siste feltet i et skjema, går markøren til det første feltet i det neste skjemaet. Dette alternativet er særlig relevant for HTML-skjemaer, fordi dette er standard virkemåte i HTML-skjemaer.

## Tillat endringer

Determines if the data can be modified.

## Tillat slettinger

Determines if the data can be deleted.

## Tillat tillegg

Determines if data can be added.

## Hva er et underskjema?

Skjemaer blir lagd ut fra databasetabeller eller databasespørringer. De viser informasjonen på en oversiktlig måte, og du kan skrive inn eller endre data i skjemaet.

Hvis du trenger et skjema som både kan vise til dataene i en tabell eller en spørring og i tillegg vise data fra en annen tabell, bør du lage et underskjema. Dette underskjemaet kan for eksempel være et tekstfelt som viser data fra en annen databasetabell.

Et underskjema er en tilleggskomponent i hovedskjemaet. Av og til blir hovedskjemaet kalt «overordnet skjema» eller «foreldreskjema». Du får bruk for underskjemaer så snart du vil ha tilgang til mer enn én tabell i et skjema. Hver ekstra tabell krever et eget underskjema.

Når du har laget et skjema, kan du gjøre det om til et underskjema. Du kan gjøre dette ved å gå til utformingsmodus og åpne Skjemastruktur. Der drar du et skjema (som skal bli et underskjema) over til et annet skjema (som skal bli hovedskjemaet).

De som bruker dokumentet, kan ikke se at skjemaet har underskjemaer. Det eneste brukeren ser, er et dokument der data kan skrives inn eller eksisterende data vises.

Velg hovedfeltet som skal lenkes fra datafeltene i hovedskjemaet. I underskjemaet kan du sette slavefeltet som et felt som skal tilpasses innholdet i hovedfeltet.

Når brukeren blar gjennom dataene, viser skjemaet alltid den gjeldende dataposten. Dersom skjemaet inneholder underskjema, blir innholdet i de vist etter en kort forsinkelse på rundt 200 ms. Denne forsinkelsen gjør at du raskt kan bla gjennom datapostene i hovedskjemaet. Så lenge du blar videre til den neste posten innenfor tidsgrensen, slipper systemet å hente og vise fram data fra underskjemaet.