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

Angiver, om SQL-undtrykket fra LibreOffice skal analyseres. hvis indstillingen er sat til "Ja", kan du klikke p√• ...-knappen ved siden af listefeltet Indhold. Det √•bner et vidue, hvor du grafisk kan oprette en databaseforesp√łrgsel. N√•r du lukker det vindue, bliver den oprettede foresp√łgsels SQL-udtryk indsat i listefeltet Indhold.

Cyklus

Bestemmer, hvordan navigationen skal g√łres med Tabulator-tasten. Med Tabulator-tasten kan du bev√¶ge dig fremad i formularen. Hvis du samtidig trykker p√• Skift-tasten, g√•r navigationen i den modsatte retning. Hcis du n√•r den sidste (eller f√łrste) felt og trykker p√• Tabulator-tasten igen, kan det have forskellige virkninger. Definer tastaturkontrollen med f√łlgende indstillinger:

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

Definerer datakilden, som formularen b√łr referere til. Hvis du klikker p√• knappen ..., kalder du dialogen √Öbn, hvor du kan v√¶lge en datakilde.

Filter

Indtast den kr√¶vede betingelse for at filtrere data i formularen. Filterspecifikationerne f√łlger SQL-regler uden at brugre WHERE-s√¶tningen. Hvis du for eksempel vil vise alle poster med fornavnet "Mikael", indtaster du: Fornavn = 'Mikael' i datafeltet. Du kan ogs√• kombinere betingelser: Fornavn = 'Mikael' OR Fornavn = 'Peter'. Alle poster, der matcher √©n af disse to betingelser, bliver vist.

Filterfunktionen er tilg√¶ngelig i brugertilstand gennem ikonerne Autofilter og Standardfilter p√• v√¶rkt√łjslinjen Formularnavigation.

Indhold

Bestemmer det indhold, der skal bruges til formularen. Indholdet kan v√¶re en eksisterende tabel eller en foresp√łrgsel (oprettet tidligere i en database), eller kan defineres af et SQL-udtryk. F√łr du indtaster et indhold, skal du definere den n√łjagtige type i Indholdstype.

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

Angiver, om navigationsfunktioneerne i den nederste formularlinje kan bruges.

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

Hvis du opretter en underformular, indtaster du det datafelt i dem overordnede formular, som er ansvarlig for synkroniseringen mellem overordnet og underordnet formular. For at indsætte flere værdier trykker du på Skift+Enter efter hver indtastningslinje.

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

Hvis du opretter en underformular, inds√¶tter du variablen, hvor mulige v√¶rdier fra det overordnede formularfelt kan gemmes. Hvis en underformular er baseret p√• en foresp√łrgsel, inds√¶tter du den variabel, du definerede i foresp√łrgslen. Hvis du opretter en en formular med et SQL-udtryk, indsat i feltet Datakilde, skriver du variablen, du brugte i udtrykket. Du kan v√¶lge et vilk√•rligt variabelnavn. Hvis du vil have flere v√¶rdier, trykker du p√• Skift + 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

Angiver betingelsen som skal sortere data i formularen. Specifikationen for sorteringsbetingleser f√łlger SQL-regler uden at bruge s√¶stningen ORDER BY. Hvis du for eksempel vil have alle poster i en database sorteret i et felt i stigende orden og i et andet felt i faldende orden, skriver du Fornavn ASC, Efternavn DESC (under den antagelse, at Fornavn og Efternavn er navnene p√• datafelterne).

De passende ikoner p√• v√¶rkt√łjslinjen Formularnavigation kan bruges i Brugertilstand til at sortere:Sorter stigende, Sorter faldende, Sorter.

Tilf√łj kun data

Bestemmer, om formularen alene tillader tilf√łjelse af nye data (Ja) eller om den ogs√• tillader andre egenskaber (Nej).

Noteikon

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


Tillad sletninger

Bestemmer, om data kan slettes.

Tillad tilf√łjelser

Bestemmer, om data kan tilf√łjes.

Tillad ændringer

Bestemmer, om data kan ændres.

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.

St√łt os venligst!