Indhold

# Data

Fanebladet Data giver dig mulighed for at tildele en datakilde til det valgte kontrolelement.

For at tilgå denne kommando...

Åbn et valgt formularelements kontekstmenu – vælg Kontrolegenskaber ▸ (fanebladet) Data.

Åbn værktøjslinjen Formulardesign, klik på ikonet Kontrol - (fanebladet) Data.

For formularer med databasereferencer, er de tilknyttede databaser defineret i Formularegenskaber. Du finder funktionerne for dem på fanebladetData.

De mulige indstillinger på fanebladet Data for et kontrolelement afhænger af det pågældende kontrolelement. Du ser kun de indstillinger, der er tilgængelige for det aktuelle kontrolelement og den aktuelle sammenhæng.
Følgende felter er tilgængelige:

## Bundet felt

Hvis du sletter indholdet af Bundet felt-cellen i egenskabsbrowseren, bruges det første felt af resultatsættet til visning og udveksling af data.

Denne egenskab for rullelister definerer hvilket datafelt fra en kædet tabel, der vises i formularen.

Hvis en rulleliste i formularen skal vise indholdet af en tabel kædet til formulartabellen, så angiv i feltet Listeindholdstype, om visningen er bestemt af en SQL-kommando eller om den kædede tabel tilgås. Med Bundet felt-egenskaben kan du bruge et indeks til at angive hvilket datafelt fra forespørgslen eller tabellen listefeltet er kædet.

Egenskaben Bundet felt er kun til formularer som bruges til at få adgang til mere end én tabel. Hvis formularen er baseret på kun én tabel, er feltet som bliver vist i formularen specificeret direkte under Datafelt. Dog, hvis du ønsker at rullelisten skal vise data fra en tabel der er kædet til den aktuelle tabel over et fælles datafelt, defineres det forbundne datafelt ved egenskaben Bundet felt.

Hvis du valgte "SQL" under Listeindholdstype, bestemmer SQL-kommandoen indekset som skal specificeres. Eksempel: Hvis du angiver en SQL kommando såsom "SELECT Felt1, Felt2 FROM tabelnavn" under Listeindhold, henvises til den følgende tabel:

Bundet felt | Kæde
--- | ---
-1 | Indekset for den valgte række er kædet til feltet angivet under Datafelt.
{tom} eller 0 | Databasefeltet "Felt1" er kædet til feltet angivet under Datafelt.
1 | Databasefeltet "Felt2" er kædet til feltet angivet under Datafelt.

Hvis du valgte "Tabel" under Listeindholdstype, angiver tabelstrukturen indekset som skal specificeres. Eksempel: Hvis en databasetabel er valgt under Listeindhold, se den følgende tabel:

Bundet felt | Kæde
--- | ---
-1 | Indekset for den valgte række i listen er kædet til feltet angivet under Datafelt.
{tom} eller 0 | Den 1. kolonne i tabellen er kædet til feltet, der er angivet under Datafelt.
1 | Den 2. kolonne i tabellen er kædet til feltet, der er angivet under Datafelt.
2 | Den 3. kolonne i tabellen er kædet til feltet, der er angivet under Datafelt.

## Datafelt

Med databaseformularer kan du kæde kontrolelementer til datafelterne.

Du har flere muligheder:

1. Første tilfælde: Der er kun én tabel i formularen.

   Under Datafelt angives det felt i datakildetabellen hvis indhold, som du ønsker vist.

2. Andet tilfælde: Kontrolelementet tilhører en underformular, der er oprettet med en SQL-forespørgsel.

   Under Datafelt angives det felt i SQL-sætningen hvis indhold, som du ønsker vist.

1. Tredje tilfælde:Kombinationsfelter

   For kombinationsfelter er feltet i datakildetabellen, hvori brugerens indtastede eller valgte værdier gemmes, angivet under Datafelt. Værdierne vist på listen i kombinationsfeltet er baseret på en SQL-sætning, som er indtastet under Listeindhold.

2. Fjerde tilfælde:Rullelister

   Her er det ikke datakildetabellen, der indeholder data, som skal vises, men en tabel kædet til datakildetabellen gennem et fælles datafelt.

   Hvis du vil vise en rulleliste med data fra en tabel, der er kædet til den aktuelle datakildetabel, skal du under Datafelt angive feltet i datakildetabellen, hvortil indholdet af rullelisten refererer. Du kan også angive databasefeltet, der kontrollerer visningen af data i formularen. Dette datafelt angiver kæden til den anden tabel, hvis begge tabeller kan sammenkædes gennem et fælles datafelt. Det er sædvanligvis et datafelt, hvor unikke nøgler er lagret. Datafeltet, hvis indhold vises i formularen, er specificeret med en SQL-sætning under Listeindhold.

Rullelister arbejder med referencer. De kan enten være implementeret med kædede tabeller via SQL-sætninger (fjerde tilfælde) eller gennem værdilister:

Referencer gennem kædede tabeller (SQL-sætninger)

Hvis du vil have en rulleliste til at vise data fra en databasetabel, som er kædet via et fælles datafelt, til den tabel, som formularen er baseret på, er forbindelsesfeltet til formulartabellen angivet under Datafelt.

Kæden bliver oprettet med en SQL Select-sætning, som, hvis du valgte "SQL" eller "Native SQL", er angivet under Listeindholdstype i feltet Listeindhold. Som et eksempel er en tabel "Ordrer" kædet til den aktuelle formulars kontrolelement, og i databasen er en tabel "Kunder" kædet til "Ordrer"-tabellen. Du kan bruge en SQL-sætning som følger:

SELECT KundeNavn, KundeNr FROM Kunder

hvor "KundeNavn" er datafeltet fra den sammenkædede tabel "Kunder", og "KundeNr" er feltet med tabellen "Kunder", som er kædet til et felt på formulartabellen "Ordrer" specificeret under Datafelt.

Referencer ved brug af værdilister

Med rullelister kan du bruge værdilister. Værdilister er lister, som angiver referenceværdier. På denne måde vil kontrolelementet i formularen ikke direkte vise indholdet af et databasefelt, men i stedet værdier tildelt i værdilisten.

Hvis du arbejder med referenceværdier på en værdiliste, er indholdet af datafeltet som du specificerede under Datafelt i formularen ikke synlige, men det er derimod de tilknyttede værdier. Hvis du vælger "Værdiliste" på fanebladet Data under Listeindholdstype og tildeler en referenceværdi til de synlige punkter på listen i formularen under Listeelementer (indtastet i fanebladet Generelt), sammenlignes referenceværdierne med dataindholdet af det givne datafelt. Hvis en referenceværdi svarer til indholdet af et datafelt, vises de tilknyttede listeelementer i formularen.

## Filterforslag

Mens du designer din formular, kan du sætte egenskaben "Filterforslag" for hvert tekstfelt på fanebladet Data i den tilsvarende dialog Egenskaber. I efterfølgende søgninger i filtertilstand kan du vælge mellem al den information, der indeholdt i disse felter. Feltindholdet kan så vælges med funktionen Autofuldførelse. Bemærk imidlertid, at denne funktion kræver en større mængde hukommelsesplads og tid, især når den bruges i større databaser og bør derfor bruges sparsomt.

## Indhold af den kædede celle

Vælg tilstanden for sammenkædning af et listefelt med en kædet celle på et regneark.

1. Kædet indhold: Synkroniser tekstindhold af det valgte rullelisteelement med celleindholdet. Marker "Den valgte indtastning".

2. Kædet valgposition: Placeringen af det enkelte valgte element i rullelisten synkroniseres med den numeriske værdi i cellen. Markér "Placering af den valgte indtastning".

## Kildecelleområde

Indtast et celleområde, som indeholder et listefelts indførsler eller et kombinationsfelt på et regneark. Hvis du indtaster et område over flere kolonner, vil kun den yderst til venstre blive brugt til at udfylde kontrolfeltet.

## Kædet celle

Angiver referencen til en kædet celle på et regneark. Den foranderlige tilstand eller kontrolelementernes indhold er kædet med celleindholdet. Følgende tabel oplister kontrolelementerne og deres tilsvarende kædetype:

### Afkrydsningsfelt med kædet celle

Handling | Resultat
--- | ---
Marker afkrydsningsfeltet: | SAND indføres i den kædede celle.
Afmarker afkrydsningsfeltet: | FALSK indføres i den kædede celle.
Tretilstands-afkrydsningsfelt er sat til "ubestemt": | #NV indføres i den kædede celle.
Indtast et tal eller en formel, som returnerer et tal, i den kædede celle | Hvis den indtastede værdi er SAND eller ikke 0: Afkrydsningsfelt bliver markeret Hvis den indtastede værdi er FALSK eller 0: afkrydsningsfeltet bliver afmarkeret.
Ryd den kædede celle eller indtast tekst eller indtast en formel, som returnerer tekst eller en fejl | Afkrydsningsfelt bliver sat til "ubestemt" hvis det er en tretilstands-afkrydsningsfelt, ellers bliver afkrydsningsfeltet afmarkeret.
Marker afkrydsningsfeltet. Egenskaben Referenceværdi" indeholder tekst: | Teksten fra feltet Referenceværdi kopieres til cellen.
Afmarker afkrydsningsfeltet. Egenskaben "Referenceværdi (fra)" indeholder tekst. | En tom streng bliver kopieret til cellen.
Feltet Referenceværdi indeholder tekst. Indtast den samme tekst i cellen. | Afkrydsningsfeltet bliver markeret.
Feltet Referenceværdi indeholder tekst. Indtast en anden tekst i cellen. | Afkrydsningsfeltet bliver afmarkeret.

### Alternativknap med kædet celle

Handling | Resultat
--- | ---
Marker alternativknappen: | SAND indtastes i den kædede celle.
Alternativknappen afmarkeres ved at markere en anden alternativknap: | FALSK indtastes i den kædede celle.
Indtast et tal eller en formel, som returnerer et tal, i den kædede celle | Hvis den indtastede værdi er SAND eller ikke 0, bliver alternativknappen markeret Hvis den indtastede værdi er FALSK eller 0, bliver alternativknappen afmarkeret.
Ryd den kædede celle eller indtast tekst eller indtast en formel, som returnerer tekst eller en fejl: | Alternativknap afmarkeres.
Klik på alternativknappen. Feltet Referenceværdi indeholder tekst. | Teksten fra feltet Referenceværdi kopieres til cellen.
Klik på en anden alternativknap i samme gruppe. Feltet Referenceværdi indeholder tekst. | En tom streng bliver kopieret til cellen.
Feltet Referenceværdi indeholder tekst. Indtast den samme tekst i cellen. | Alternativknappen bliver markeret.
Feltet Referenceværdi indeholder tekst. Indtast en anden tekst i cellen: | Alternativknappen bliver afmarkeret.

### Tekstfelt med kædet celle

Handling | Resultat
--- | ---
Indtast tekst i tekstfeltet: | Tekst kopieres til den kædede celle.
Ryd tekstfeltet: | Den kædede celle bliver ryddet.
Indtast tekst eller et tal i den kædede celle: | Tekst eller tal kopieres til tekstfeltet.
Indtast en formel i den kædede celle: | Formelresultatet kopieres til tekstfeltet.
Nulstil den kædede celle: | Tekstfeltet nustilles.

### Numerisk felt og formateret felt med kædet celle

Handling | Resultat
--- | ---
Indtast et tal i feltet: | Tallet kopieres til den kædede celle.
Ryd feltet: | Værdien 0 bliver sat i den kædede celle.
Indtast et tal eller en formel, som returnerer et tal, i den kædede celle: | Tallet kopieres til feltet.
Ryd den kædede celle eller indtast tekst eller indtast en formel, som returnerer tekst eller en fejl: | Værdien 0 sættes i feltet.

### Rulleliste med kædet celle

Rullelister understøtter to forskellige kædemetoder, se egenskaben "Indhold af den kædede celle".

1. Kædet indhold: Synkroniser tekstindholdet af den markerede rulleliste med cellen

2. Kædet valgposition: Det enkelte, markerede elements position i rullelisten er synkroniseret med den numeriske værdi i cellen.

Handling | Resultat
--- | ---
Marker et enkelt element i listen: | Indhold er kædet: Elementets tekstindhold kopieres til den kædede celle. Markering er kædet: Positionen for det valgte element kopieres til den kædede celle. Hvis for eksempel det tredje element er markeret, vil tallet 3 blive kopieret.
Marker flere listepunkter: | #NV indsættes i den kædede celle.
Afmarker alle listepunkter: | Indholdet er kædet: Den kædede celle ryddes. Markering er kædet: Værdien 0 indsættes i den kædede celle
Indtast tekst eller et tal i den kædede celle: | Indhold er kædet: Find og marker et tilsvarende listeelement. Markering er kædet: Listeelementet på den angivne position (startende med 1 for det første element) er valgt. Hvis elementet ikke findes, afmarkeres alle punkter.
Indsæt en formel i den kædede celle: | Find og marker et listeelement, som svarer til formelresultatet og kædetilstand.
Marker den kædede celle: | Afmarker alle elementer på rullelisten.
Udskift indholdet af listens kildeområde: | Rullelistepunkter opdateres i henhold til ændringen. Det markerede bevares. Dette kan forårsage en opdatering af den kædede celle.

### Kombinationsfelt med kædet celle

Handling | Resultat
--- | ---
Indtast tekst i kombinationsfeltets redigeringsfelt eller vælg et element på rullemenuen: | Tekst kopieres til den kædede celle.
Ryd kombinationsfeltets redigeringsfeltet: | Den kædede celle bliver ryddet.
Indsæt tekst eller et tal i den kædede celle: | Tekst eller tal kopieres til kombinationsfeltets redigeringsfelt
Indsæt en formel i den kædede celle: | Formelresultatet kopieres til kombinationsboksens redigeringsfelt.
Ryd den kædede celle: | Kombinationsfeltets redigeringsfelt bliver ryddet.
Udskift indholdet af listens kildeområde | Rullegardinmenuens punkter opdateres i henhold til ændringen. Kombinationsfeltets redigeringsfelt og den forbundne celle bliver ikke ændret.

## Listeindhold

I databaseformularer specificerer listens datakilde indeholdet af formular-elementet. Dette felt kan bruges til at definere en liste over værdier til dokumenter uden en databaseforbindelse.

Ved databaseformularer bestemmer datakilden elementerne på rullelisten eller kombinationsfeltet. Afhængigt af den valgte type har du et valg mellem forskellige datakilder under Listeindhold, under forudsætning af at disse objekter findes i din database. Alle tilgængelige databaseobjekter af typen som er valgt under Listeindholdstype tilbydes her. Hvis du har valgt "Værdiliste"-indstillingen som typen, kan du bruge referencer til databaseformularer. Hvis fremvisningen af kontrolelementet er kontrolleret med en SQL-kommando, er SQL-sætningen indtastet her.

Eksempler på SQL-sætninger:

For rullelister kan en SQL-sætning have følgende form:

SELECT felt1, felt2 FROM tabel

Her er "tabel" tabellen hvis data bliver vist på kontrolelementets liste (Listetabel). "felt1" er datafeltet som definerer de synlige punkter i formularen; dets indhold bliver vist på rullelisten. "felt2" er feltet på listetabellen, der er kædet til formulartabellen (værditabel) gennem feltet angivet under Datafelt hvis der er valgt Bundet felt= 1.

For kombinationsfelter kan en SQL-sætning have følgende form:

SELECT DISTINCT felt FROM tabel

Her er "felt" et datafelt fra listetabellen "tabel" hvis indhold bliver vist på kombinationsfeltets liste.

Værdilister for HTML-dokumenter

For HTML-formularer kan du indtaste en værdiliste under Listeindhold. Vælg indstillingen "Værdiliste" under Listeindholdstype. Værdier indtastet her vil ikke være synlige i formularen, og bruges til at tildele værdier til de synlige punkter. Elementerne skabt under Listeindhold korresponderer med HTMLmærket <OPTION VALUE=...>.

I dataoverførslen for et valgt element fra en rulleliste eller et kombinationsfelt bliver BÅDE listen af værdier vist i formularen som blev indtastet på fanebladet Generelt under Listeelementer OG værdilisten som er indtastet på fanebladet Data under Listeindholdtaget i betragtning. Hvis en (ikke-tom) tekst er ved den valgte placering i værdilisten (<option value=...>), bliver den overført. Ellers bliver den tekst som vises i (<indstilling>)-kontrolelement sendt.

Hvis værdilisten skal indeholde en tom streng, indtast værdien "$$$empty$$$" under Listeindhold ved den tilsvarende placering (bemærk store/små bogstaver). LibreOffice fortolker denne indtastning som en tom streng og tildeler det til det respektive punkt på listen.

Følgende tabel viser forbindelserne mellem HTML, JavaScript og LibreOffice-feltet Listeindhold eksemplificeret ved en rulleliste kaldet "ListBox1". I dette tilfælde betegner "Element" et punkt på listen som er synligt i formularen:

HTML-mærke | JavaScript | Element i Værdiliste på kontrolelementet (listeindhold) | overførte data
<option>Element | ikke mulig | "" | det synlige punkt på listen ("ListBox1=Element")
<OPTION VALUE="Value">Element | ListBox1.options[0].value="Værdi" | "Værdi" | Værdien tildelt til listeelementet ("ListBox1=Værdi")
<OPTION VALUE="">Element | ListBox1.options[0].value="" | "$$$empty$$$" | En tom streng ("ListBox1=")

## Listeindholdstype

Bestemmer de data, der skal udfylde listerne i liste- og kombinationsfelter.

Med "Værdiliste"-indstillingen vises alle elementer som indtastes i Listeelementer-feltet på fanebladet Generelt i kontrolelementet. For databaseformularer kan du bruge referenceværdier (se Henvisninger ved hjælp af Værdilister Sektionen).

Hvis indholdet af kontrolelementet skal læses fra en database, kan du bestemme typen af datakilden med de øvrige indstillinger. For eksempel kan du vælge imellem tabeller og forespørgsler.

## Referenceværdi (fra)

Afkrydsningsfelter og alternativknapper i regneark kan være bundet til celler i det aktuelle dokument. Hvis kontrolelementet er aktiveret, kopieres værdien, som du indtaster i Referenceværdi (til) til cellen. Hvis kontrolelementet er deaktiveret, kopieres værdien fra Referenceværdi (fra) til cellen.

## Referenceværdi (til)

Du kan tiknytte en referenceværdi til alternativknapper og afkrydsningsfelter. Referenceværdien vil blive overført til en server, når webformularen sendes. Med databaseformularer vil værdien, der angivet her, blive skrevet i den database, der er knyttet til kontrolfeltet.

Referenceværdier for webformularer

Referenceværdier er nyttige, hvis du designer en webformular, og kontrolelementets statusinformation skal overføres til en server. Hvis brugeren klikker på kontrolelementet, bliver den tilsvarende referenceværdi sendt til serveren.

For eksempel, hvis du har to kontrolfelter for alternativerne "Kvinde" og "Mand" og tildeler en referenceværdi 1 til feltet "Kvinde" og værdien 2 til feltet "Mand", bliver værdien 1 transmitteret til serveren, hvis en bruger klikker "Kvinde"-feltet og værdien 2, hvis "Mand"-feltet bliver klikket.

Referenceværdier for databaseformularer

For databaseformularer kan du også karakterisere status for en alternativknap eller et afkrydsningsfelt med en referenceværdi ved at lagre den i databasen. Hvis du har et sæt af tre alternativer, for eksempel "undervejs", "færdige" og "genindsendte" med de tilsvarende referenceværdier "SU", "OK" og "IGEN", vises disse referenceværdier i databasen, hvis der bliver klikket på det tilsvarende alternativ.

## Tom streng er NULL

Definerer, hvordan input af en tom streng skal håndteres. Hvis den er sat til "Ja", bliver en input-streng med længden nul behandlet som værdien NUL. Hvis sat til "Nej", bliver ethvert input behandlet "som-det-er" uden nogen konvertering.

En tom streng er en streng af længden nul (""). Normalt er værdien NULL ikke det samme som en tom streng. I almindelighed bruges udtrykket NULL til at betegne en udefineret værdi, en ukendt værdi eller "ingen værdi er indtastet endnu."

Databasesystemer er forskellige, og de kan håndtere NULL-værdier forskelligt. Se dokumentationen til den database, du bruger.