Indhold
Indholdsfortegnelse 🔎︎

# Data

Fanebladet Data angiver de formularegenskaber, som referer til den database, der er kædet sammen med formularen.

Bestemmer den datakilde, som formularen er baseret på, eller angiver om data kan redigeres af brugeren. Bortset fra funktionerne sorter og filtrer, kan du også finde alle de nødvendige egenskaber til at oprette en underformular.

For at tilgå denne kommando...

Åbn kontekstmenuen til et valgt formularelement - vælg Formular - Data.

Åbn værktøjslinjen Formularfunktioner eller værktøjslinjen Formulardesign, klik på ikonet Formular - fanebladet 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.

## Cyklus

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:

Mulighed | Betydning
Standard | Indstillingen angiver automatisk en cyklus som følger en eksisterende databasekæde: Hvis formularen indeholder en databasekæde, vil tabulatortasten, som standard, initiere et skift til næste eller foregående datapost ved udgang fra det sidste felt (se Alle Dataposter). Hvis der ikke er nogen databasekæde vil næste/forrige formular vises (se Aktuel Side).
Alle dataposter | Denne indstilling gælder kun for databaseformularer og bruges til at navigere gennem alle dataposter. Hvis du bruger tabulatortasten til at forlade det sidste felt i en formular, ændres den aktuelle datapost.
Aktiv datapost | Denne indstilling gælder kun for databaseformularer og bruges til at navigere indenfor den aktuelle datapost. Hvis du bruger tabulatortasten til at forlade det sidste felt i en formular, ændres den aktuelle datapost.
Aktuelle side | Når det sidste felt i en formular forlades, springer markøren til første felt i den næste formular. Det er standard for HTML-formularer. Derfor er denne indstilling specielt relevant for HTML-formularer.

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

Filterfunktionen er tilgængelig i brugertilstand gennem ikonerne Autofilter og Standardfilter på værktøjslinjen Formularnavigation.

## Indhold

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 "Tabel" eller "Forespørgsel" i Indholdstype, vil feltet opremse alle tabeller og forespørgsler, der er konfigureret i den valgte database.

## Indholdstype

Angiver om datakilden skal være en eksisterende databasetabel eller -forespørgsel, eller om formularen skal genereres baseret på en SQL-sætning.

Hvis du vælger "Tabel" eller "Forespørgsel", vil formularen henvise til tabellen eller forespørgslen, du angiver under Indhold. Hvis du vil oprette en ny forespørgsel eller en underformular, så er du nødt til at vælge indstillingen "SQL". Du kan derefter indtaste sætningen til SQL-forespørgselen eller underformularen direkte i feltet Listeindhold på fanebladet Data i kontrolelementets egenskaber.

## Navigationslinje

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

Indstillingen "Forældreformular" bruges til underformularer. Hvis du vælger denne indstilling for en underformular, kan du navigere ved at bruge dataposterne på hovedformularen, hvis markøren er placeret i underformularen. En underformular er kædet til hovedformularen med en 1:1 relation, så navigation bliver altid udført i hovedformularen.

## Sammenkæd overordnede felter

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.

Underformularen er baseret på en SQL forespørgsel; specifikt en Parameter Forespørgsel. Hvis et feltnavn indtastes i feltet Kæd overordnede felter, bliver data, der er indeholdt i feltet i hovedformularen, læst til en variabel, som du skal indtaste i Kæd underordnede felter. I en passende SQL-sætning bliver denne variabel sammenlignet med data fra den tabel, som underformularen henviser til. Alternativt kan du indtaste kolonnens navn i feltet Kæd overordnede felter.

Betragt det følgende eksempel:

Databasetabellen som formularen er baseret på, er, for eksempel en kundedatabase ("Kunde"), hvor alle kunder er tildelt en unikt tal i et datafelt kaldt "Kunde_ID". En kundes ordrer bliver vedligeholdt i en anden databasetabel. Du vil nu se hver kundes ordrer efter at have indtastet dem i formularen. For at gøre dette bør du oprette en underformular. Under Kæd overordnede felter skal du indtaste datafeltet fra kundedatabasen som klart identificerer kunden (Kunde_ID). Under Kæd underordnede felter skal du indtaste navnet på en variabel, som modtager data fra feltet Kunde_ID, for eksempel x.

Underformularen skal vise de tilknyttede data fra ordretabellen ("Ordrer") for hver kunde ID (Kunde_ID -> x). Dette er kun muligt, hvis hver ordre er entydigt knyttet til én kunde i ordretabellen. Alternativt kan du bruge et andet felt kaldt Kunde_ID. For at undgå at dette felt forveksles med samme felt fra hovedformularen, kaldes feltet Kunde_Nummer.

Sammenlign nu Kunde_Nummer i tabellen "Ordrer" med Kunde_ID fra tabellen "Kunde", hvilket for eksempel kan lade sig gøre ved at bruge variablen x med følgende SQL-sætning:

SELECT * FROM Ordrer WHERE Kunde_Nummer =: x (hvis du vil have underformularen til at vise alle data fra ordretabellen)

eller:

SELECT Element FROM Ordrer WHERE Kunde_Nummer =: x (hvis du vil have underformularen fra ordretabellen til kun at vise de data, der er indeholdt i feltet "Element")

SQL-sætningen kan enten indtastes i feltet Datakilde, eller du kan oprette en passende parameter-forespørgsel, som kan bruges til at oprette underformularen.

## Sammenkæd underordnede felter

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.

Hvis du for eksempel specificerede Kunde_ID'et databasefeltet som en forældrefelt under Kæd overordnede felter, så kan du angive under Kæd underordnede felter navnet på variablen, hvori værdierne på databasefeltet Kunde_ID skal lagres. Hvis du nu specificerer en SQL-sætning i feltet Datakilde ved at bruge denne variabel, vises de relevante værdier i underformularen.

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

De passende ikoner på værktøjslinjen Formularnavigation kan bruges i Brugertilstand til at sortere:Sorter stigende, Sorter faldende, Sorter.

## Tilføj kun data

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

Hvis Tilføj kun data bliver sat til "Ja", er redigering eller sletning af data ikke muligt.

## Tillad sletninger

Determines if the data can be deleted.

## Tillad tilføjelser

Determines if data can be added.

## Tillad ændringer

Determines if the data can be modified.

## Hvad er en underformular?

Formularer bliver oprettet baseret på en databasetabel eller databaseforespørgsel. De viser data på en visuelt behagelig måde og kan bruges til at indtaste data eller redigere data.

Hvis du behøver en formular, som kan referere til data i en tabel eller forespørgsel og desuden kan vise data fra en anden tabel, bør du oprette en underformular. Denne underformular kan for eksempel være et tekstfelt, som viser data fra en anden databasetabel.

En underformular er en ekstra del af hovedformularen. Hovedformularen kaldes også "forældreformular" eller "hovedformular". Underformularer skal bruges, når du ønsker adgang til mere end en enkelt tabel i en formular. Hver yderligere tabel kræver sin egen underformular.

Efter at du har oprettet en formular, kan du ændre den til en underformular. For at gøre dette skal du gå i designtilstand og åbne Formularnavigatoren. I Formularnavigatoren, træk en formular (som skal ændres til en underformular) over på en anden formular (som vil blive en master).

Den person, som bruger dit dokument, vil ikke se, at en formular har underformularer. Brugeren ser kun en formular, hvor data bliver indtastet, eller hvor eksisterende data bliver vist.

Angiv sammenkædningens hovedfelt fra datafelterne i hovedformularen. I underformularen kan sammenkædede felter indstilles som et felt, der skal sammenlignes med indholdet af sammenkædningens hovedfelt.

Når brugeren navigerer gennem data, viser formularen altid den aktuelle datapost. Hvis der er defineret underformularer, vil indholdet af underformularerne blive vist efter en kort forsinkelse på tilnærmelsesvis 200 ms. Denne forsinkelse lader dig gennemse hovedformularens dataposter hurtigt. Hvis du navigerer til næste hoveddatapost indenfor forsinkelsen, behøver underformularens data ikke at blive hentet og vist.