Indhald
Innhaldsliste 🔎︎

# Data

Fana Data styrer skjemaeigenskapane som refererer til den databasen som er knytt til skjemaet.

Vel kva datakjelde skjemaet er basert på, eller vel om dataa kan redigerast av brukaren. Bortsett frå funksjonar for sortering og filtrering, finn du òg alle dei eigenskapane som trengst for å laga underskjema.

For å bruka denne funksjonen …

Opna sprettoppmenyen til eit valt skjemaelement og vel fana Skjema → Data

Opna Kontrollelement for skjema eller Skjemautforming, trykk på Kontrollelement og vel fana Data.

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

## Datakjelde

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 tilgjengeleg i brukarmodus via knappane Autofilter og Standardfilter på verktøylinja Skjemanavigasjon.

## Innhald

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.

Viss du har vald anten «Tabell» eller «Spørjing» som Innhaldstype,vil denne lista visa alle tabellane og spørjingane som er sette opp i den valde databasen.

## Innhaldstype

Avgjer om datakjelda skal vera ein eksisterande databasetabell eller ei spørjing, eller om skjemaet skal lagast ut frå ei SQL-setning.

Viss du vel «Tabell» eller «Spørjing», vil skjemaet visa til tabellen eller spørjinga du har vald under Innhald. Viss du vil laga ei ny spørjing eller eit underskjema, må du velja «SQL-kommando». Du kan då skriva inn uttrykket for SQL-spørjinga eller underskjemaet direkte i Listeinnhald på fana «Data» i eigenskapane til kontrollelementet.

## Legg berre til data

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

Viss Legg berre til data er sett til «Ja», er det ikkje mogleg å endra eller sletta data.

## Lenk saman hovudfelta

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.

Underskjemaet er basert på ei SQL-spørjing av typen parameterspørjing. Dersom eit feltnamn er skrive i Lenk saman hovudfelta, vert dataa frå feltet lagde inn i ein variabel som du må skriva inn i Lenk saman slavefelta. I eit passande SQL-uttrykk vert denne variabelen samanlikna med tabelldataa som underskjemaet viser til. Du kan òg skriva inn kolonnenamnet i Lenk saman hovudfelta.

Studer dette eksemplet:

Databasetabellen som skjemaet er basert på er ein kundedatabase («Kunde») der kvar kunde har eit unikt nummer i datafeltet «KundeID». Ordrane til kundane ligg i ein annan tabell. Du vil nå sjå ordrane til kvar kunde etter å ha skrive dei inn i skjemaet. Til dette kan du bruka eit underskjema. Under Lenk saman hovudfelta skriv du inn det datafeltet frå kundedatabasen som identifiserer kunden, altså «KundeID». Under Lenk saman slavefelta skriv du inn namnet på ein variabel som skal motta data frå «KundeID», for eksempel «x».

Underskjemaet bør visa data frå ordretabellen («Ordre») for kvar kunde-ID (KundeID → x). Dette er berre mogleg dersom kvar ordre er unikt tilordna éin kunde i ordretabellen. Du kan også bruka eit anna felt kalla «KundeID», men for å hindra at det vert forveksla med det same feltet frå hovudskjemaet, kallar vi det «Kundenummer».

Nå samanliknar du «Kundenummer» i «Ordre»-tabellen med «KundeID» frå «Kunder»-tabellen. Det kan du for eksempel gjera ved hjelp av variabelen x og dette SQL-uttrykket:

SELECT * FROM Ordrar WHERE Kundenummer =: x (Dersom du vil at underskjemaet skal visa alle dataa frå ordretabellen.)

eller:

SELECT Element FROM Ordre WHERE Kundenummer =: x (Dersom du vil at underskjemaet frå ordretabellen berre skal visa dataa som ligg i feltet «Element».)

SQL-uttrykket kan anten skrivast i feltet Datakjelde eller lagast som ei parameterspørjing som du kan bruka til å laga underskjemaet.

## Lenk saman slavefelta

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 vald databasefeltet «KundeID» som foreldrefelt under Lenk saman hovudfelta, kan du velja namnet på variabelen der verdiane frå «KundeID» skal lagrast under Lenk saman slavefelta. Dersom du no bruker denne variabelen i eit SQL-uttrykk i feltet Datakjelde, vert dei relevante verdiane viste i underskjemaet.

## Navigasjonslinje

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

Alternativet «Overordna skjema» vert brukt til delskjema. Viss du vel dette alternativet for eit delskjema, kan du bruka postane i hovudskjemaet til å navigera viss markøren står i delskjemaet. Eit delskjema er lenkja til det overordna skjemaet i eit 1:1-forhold, slik at navigeringa alltid skjer i det overordna skjemaet.

## Skift

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 | Tyding
Standard | Denne innstillinga lagar automatisk ein syklus som følgjer ei databaselenkje: Dersom skjemaet inneheld ei databaselenkje, vil tabulatortasten som standard skifta til neste eller førre post når du går ut av det siste feltet (sjå «Alle postar»). Dersom skjemaet ikkje har noka databaselenkje, vert det neste eller førre skjemaet vist (sjå «Denne sida»).
Alle postar | Denne innstillinga gjeld berre for databaseskjema og vert brukt til å navigera gjennom alle datapostane. Dersom du går ut av det siste feltet med tabulatortasten, vert dataposten endra.
Denne dataposten | Denne innstillinga gjeld berre for databaseskjema og vert brukt til å navigera gjennom alle datapostane. Dersom du går ut av det siste feltet med tabulatortasten, vert dataposten endra.
Denne sida | Når du går ut av det siste feltet i eit skjema, går skrivemerket til det første feltet i det neste feltet. Dette er vanleg for HTML-skjema.

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

Nokre av knappane på verktøylinja Skjemanavigasjon kan brukast til sortering i brukarmodus: Sorter stigande, Sorter fallande, Sorter.

## Tillat endringar

Determines if the data can be modified.

## Tillat sletting

Determines if the data can be deleted.

## Tillat tillegg

Determines if data can be added.

## Kva er eit underskjema?

Skjema vert laga ut frå databasetabellar eller databasespørjingar. Dei viser informasjonen på ein oversiktleg måte, og du kan skriva inn eller endra data i skjemaet.

Dersom du treng eit skjema som både kan visa til data i ein tabell eller ei spørjing og i tillegg visa data frå ein annan tabell, bør du laga eit underskjema. Dette underskjemaet kan for eksempel vera eit tekstfelt som viser data frå ein annan databasetabell.

Eit underskjema er ein tilleggskomponent i hovudskjemaet. Av og til vert hovudskjemaet kalla «overordna skjema» eller «foreldreskjema». Du får bruk for underskjema så snart du vil ha tilgang til meir enn éin tabell i eit skjema. Kvar ekstra tabell krev eit eige underskjema.

Etter at eit skjema er laga, kan det gjerast om til eit underskjema. For å gjera dette, går du til utformingsmodus og opnar skjemastrukturen. Der dreg du eit skjema (som skal gjerast til underskjema) over til eit anna skjema (som vert til hovudskjemaet).

Brukaren av dokumentet vil ikkje kunna sjå at skjemaet har underskjema. Det einaste brukaren ser er eit dokument der data kan skrivast inn eller visast fram.

Vel hovudfeltet som skal lenkjast frå datafelta i hovudskjemaet. I underskjemaet kan du setja slavefeltet som eit felt som skal tilpassast innhaldet i hovudfeltet.

Når brukaren blar gjennom dataa, viser skjemaet alltid den gjeldande dataposten. Dersom skjemaet inneheld underskjema, vert innhaldet i dei vist etter ei kort forseinking på om lag 200 ms. Denne forseinkinga gjer at du raskt kan bla gjennom datapostane i hovudskjemaet. Så lenge du blar vidare til den neste posten før tidsgrensa, slepp systemet å henta og visa fram data frå underskjemaet.