Module
Contents
Index 🔎︎

# Data

Under fliken Data anger du den datakälla som ska kopplas till kontrollfältet.

Så här använder du det här kommandot...

Snabbmenyn i ett markerat formulärelement Kontrollfält... - fliken Data

Öppna verktygsraden Formulärkontroller eller Formulärutkast, klicka på ikonen Kontroll - fliken Data

För formulär med databaskoppling definieras den tillhörande databasen i Formuläregenskaper. Funktionerna för detta hittar du där under fliken Data.

Vilka alternativ som finns under fliken Data beror på vilket kontrollfält du arbetar med. Du kan bara använda de alternativ som gäller för det aktuella kontrollfältet i det aktuella sammanhanget. Fliken kan innehålla följande fält:

## Bundet fält

Om du tar bort innehållet i cellen Bundet fält i egenskapsgranskningen, används det första fältet i resultatuppsättningen för att visa och utbyta data.

Denna egenskap, som står till förfogande för listrutor, avgör vilket datafält i en länkad tabell som ska visas i formuläret.

Om en listruta i formuläret ska visa innehållet i en tabell som är länkad till formulärtabellen, ska du i fältet Typ av listinnehåll definiera om visningen bestäms av ett SQL-kommando eller om den (länkade) tabellen öppnas. Med egenskapen Bundet fält använder du en förteckning för att ange till vilket datafält i frågan eller i tabellen som listrutan har länkats.

Egenskapen Bundet fält gäller endast formulär som använder fler än en databastabell. Om formuläret bara är baserat på en tabell, anger du vilka fält som ska visas i formuläret under Datafält. Om du däremot vill att listrutan ska visa data från en tabell som är länkad till den aktuella tabellen via ett gemensamt fält, definieras det länkade datafältet med egenskapen Bundet fält.

Om du har valt "SQL" under Typ av listinnehåll anger SQL-kommandot vilket index du använder. Exempel: Om du anger ett SQL-kommando som "SELECT Fält1, Fält2 FROM tabellnamn" under Listinnehåll kan du använda följande tabell:

Bundet fält | Länk
-1 | Indexet från den valda posten är länkad till det fält som anges under Datafält.
{tom} eller 0 | Databasfältet "fält1" är länkat till det fält som anges under Datafält.
1 | Databasfältet "fält2" är länkat till det fält som anges under Datafält.

Om du har valt "Tabell" under Typ av listinnehåll anger tabellens struktur vilket index du använder. Exempel: Om du har valt en databastabell under Listinnehåll använder du följande tabell:

Bundet fält | Länk
-1 | Indexet för den valda posten är länkad till det fält som anges under Datafält.
{tom} eller 0 | Kolumn nr 1 i tabellen är länkad till det fält som anges under Datafält.
1 | Kolumn nr 2 i tabellen är länkad till det fält som anges under Datafält.
2 | Kolumn nr 3 i tabellen är länkad till det fält som anges under Datafält.

## Datafält

För databasformulär kan du länka kontrollfält till databasfält.

Du har flera möjligheter:

1. Alternativ ett: Det finns bara en tabell i formuläret.

   Under Datafält anger du det fält i datakällans tabell vars innehåll kontrollen ska visa.

2. Alternativ två: Kontrollerna tillhör ett underordnat formulär som skapats av en SQL-sökning.

   Under Datafält anger du det fält i SQL-satsen vars innehåll kontrollen ska visa.

1. Alternativ tre: Kombinationsfält

   För kombinationsfält anger du under Datafält i vilket fält i den aktuella formulärtabellen värden ska lagras som användaren matar in eller väljer. (De värden som visas på kombinationsfältets lista bestäms med en SQL-sats som läggs in under Listinnehåll.)

2. Alternativ fyra: Listrutor

   Tabellen i datakällan innehåller inte de data som ska visas, utan en tabell som är länkad till tabellen via ett gemensamt datafält.

   Om du vill att en listruta ska visa data från en tabell som är kopplad till den aktuella tabellen i datakällan, anger du fältet i den tabellen under Datafält. Du kan också ange det databasfält som styr visningen av informationen i formuläret. Detta datafält är länken till den andra tabellen om båda tabellerna kan länkas via ett gemensamt datafält. Fältet är vanligtvis ett fält där unika identifierare eller räknare lagras. Det datafält vars innehåll visas i formuläret anges med ett SQL-uttryck under Listinnehåll.

Listrutor använder referenser. De kan realiseras antingen med hjälp av länkade tabeller via SQL-satser (fall 4) eller genom värdelistor:

Referenser genom länkade tabeller (SQL-satser)

Om du vill att en listruta ska visa data från en databastabell som är länkad via ett gemensamt datafält till den tabell som formuläret bygger på, anger du det gemensamma fältet under Datafält.

Länken skapas med SQL-kommandot SELECT som anges under Typ av listinnehåll i fältet Listinnehåll, om du har valt "SQL" eller "Native SQL". Anta t.ex. att tabellen "Order" är länkad till den aktuella formulärkontrollen, och i databasen är tabellen "Kunder" länkad till tabellen "Order". Du kan använda ett SQL-uttryck enligt följande:

SELECT Kundnamn, Kundnr FROM Kunder,

där "Kundnamn" är datafältet från den länkade tabellen "Kunder", och "Kundnr" är det fält i tabellen "Kunder" som är länkat till ett fält i formulärtabellen "Order" som anges under Datafält.

Referenser via värdelistor

För listrutor kan du använda värdelistor. De definierar referensvärden. På det sättet pekar kontrollfältet i formuläret inte direkt på ett innehåll i databasfältet utan på värden som tilldelas via värdelistan.

Om du arbetar med referensvärden i en värdelista, visas inte innehållet i de datafält du anger under Datafält. Däremot visas de tilldelade värdena. Om du väljer "Värdelista" under Typ av listinnehåll under fliken Data, och har givit de synliga listposterna ett referensvärde under Listposter (på fliken Allmänt), kommer referensvärdena att jämföras med datainnehållet i datafältet. Om ett referensvärde motsvarar innehållet i ett datafält kommer motsvarande listposter att visas i formuläret.

## Filterförslag

När du utformat formuläret kan du ange egenskapen "Filterförslag" för textrutor på fliken Data i dialogrutan Egenskaper som hör till kontrollen. I senare sökningar i filterläge kan du välja bland den information som finns i dessa fält. Fältinnehållet kan sedan väljas med funktionen AutoKomplettera. Observera att funktionen kräver större minnesresurser och tar längre tid, särskilt om den används tillsammans med stora databaser.

## Innehåll i den länkade cellen

Markera metoden för att länka en listruta med en länkad cell i ett kalkylblad.

1. Länkat innehåll: Synkronisera textinnehållet för den markerade listruteposten med cellinnehållet. Markera "Den markerade posten"

2. Länkad markeringsposition: Positionen för ett enstaka markerat element i listrutan synkroniseras med det numeriska värdet i cellen. Markera "Position för den markerade posten"

## Källcellområde

Ange ett cellområde som innehåller posterna för en listruta eller en kombinationsruta i ett kalkylblad. Om du anger ett område med flera kolumner, används bara innehållet i kolumnen längst till vänster för att fylla i kontrollen.

## Listinnehåll

För databasformulär anger det här alternativet datakällan för formulärelementets innehåll. Fältet kan användas för att definiera en lista med möjliga värden för ett dokument utan en koppling till en databas.

Om du arbetar med databasformulär bestäms posterna i listrutan eller kombinationsfältet av datakällan. Beroende på vilken typ av datakälla du väljer, kan du välja mellan olika datakällor under Listinnehåll förutsatt att objekten existerar i databasen. Alla tillgängliga databasobjekt av den typ som du valt under Typ av listinnehåll visas här. Om du har valt alternativet "Värdelista" kan du använda referenser för databasformulär. Om visningen av kontrollfältet styrs av ett SQL-kommando, skriver du in SQL-satsen här.

Exempel på SQL-sats:

För listrutor kan en SQL-sats till exempel ha följande utseende:

SELECT fält1, fält2 FROM tabell,

där "tabell" är den tabell vars data visas i kontrollfältets lista (listtabell). "fält1" är det datafält som bestämmer de poster som visas i formuläret; dess innehåll visas i listrutan. "fält2" är det fält i listtabellen som är länkat till formulärtabellen (värdetabellen) via det fält som anges under Datafält när Bundet fält = 1 har valts.

För kombinationsfält kan en SQL-sats till exempel ha följande utseende:

SELECT DISTINCT fält FROM tabell,

I det här sammanhanget är "fält" ett datafält från listtabellen "tabell" vars innehåll visas i kombinationsrutans lista.

Värdelistor för HTML dokument

För HTML-formulär kan du ange en värdelista under Listinnehåll. Välj alternativet "Värdelista" under Typ av listinnehåll. De värden du skriver in här kommer inte att visas i formuläret, och används för att tilldela de synliga posterna värden. Posterna under Listinnehåll motsvaras av HTML-taggen <OPTION VALUE=...>.

När data ska överföras från en markerad post i en listruta eller ett kombinationsfält, tar formuläret hänsyn till båda listorna (dels Listposter under fliken Allmänt, dels värdelistan Listinnehåll under fliken Data): Om en (icke-tom) text är markerad i värdelistan (<OPTION VALUE=...>) kommer den att skickas. Annars skickas den text som visas i kontrollfältet (<OPTION>).

Om värdelistan ska innehålla en tom sträng skriver du in värdet "$$$empty$$$" under Listinnehåll på motsvarande position (lägg märke till versaler/gemener). LibreOffice tolkar det värdet som en tom sträng.

Följande tabell visar sambandet mellan HTML, JavaScript och LibreOffice-fältet Listinnehåll för en listruta med namnet "ListBox1". Här betecknar "Item" en listpost som visas i formuläret:

HTML-tagg | JavaScript | Post på kontrollfältets värdelista (listinnehåll) | Överförs...
<OPTION>Item | Inte möjlig | "" | ...den synliga listposten ("ListBox1=Item").
<OPTION VALUE="värde">Item | ListBox1.options[0].value="värde" | "värde" | ...det värde som har tillordnats listposten ("ListBox1=värde").
<OPTION VALUE="">Item | ListBox1.options[0].value="" | "$$$empty$$$" | ...en tom sträng ("ListBox1=").

## Länkad cell

Anger referensen till en länkad cell i ett kalkylblad. Liveläget eller innehållet i kontrollen är länkat till cellinnehållet. I tabellerna nedan beskrivs kontrollerna och deras respektive länktyp:

### Kryssruta med länkad cell

Åtgärd | Resultat
Markera kryssrutan | SANT anges i den länkade cellen
Avmarkera kryssrutan | FALSKT anges i den länkade cellen
Kryssrutan med trefalidg status anges till läget "obestämt" | #NV anges i den länkade cellen
Skriv ett tal eller en formel som returnerar ett tal i den länkade cellen | Om det angivna värdet är SANT eller inte 0: Kryssrutan är markerad Om det angivna värdet är FALSKT eller 0: Kryssrutan är avmarkerad
Avmarkera den länkade cellen, skriv text eller skriv en formel som returnerar text eller ett fel | Kryssrutan anges till läget "obestämd" om detta är en kryssruta med trefaldig status, annars avmarkeras kryssrutan.
Markera rutan. Rutan Referensvärde innehåller text. | Texten från rutan Referensvärde kopieras till cellen.
Avmarkera rutan. Rutan Referensvärde innehåller text. | En tom sträng kopieras till cellen.
Rutan Referensvärde innehåller text. Skriv samma text i cellen. | Kryssrutan är markerad.
Rutan Referensvärde innehåller text. Skriv en annan text i cellen. | Kryssrutan är avmarkerad.

### Alternativknapp med länkad cell

Åtgärd | Resultat
Markera alternativknappen | SANT anges i den länkade cellen
Alternativknappen avmarkeras genom att en annan alternativknapp markeras | FALSKT anges i den länkade cellen
Skriv ett tal eller en formel som returnerar ett tal i den länkade cellen | Om det angivna värdet är SANT eller inte 0: Alternativknappen är markerad Om det angivna värdet är FALSKT eller 0: Alternativknappen är avmarkerad
Avmarkera den länkade cellen, skriv text eller skriv en formel som returnerar text eller ett fel | Alternativknappen är avmarkerad
Klicka på alternativknappen. Rutan Referensvärde innehåller text. | Texten från rutan Referensvärde kopieras till cellen.
Klicka på en annan alternativknapp i samma grupp. Rutan Referensvärde innehåller text. | En tom sträng kopieras till cellen.
Rutan Referensvärde innehåller text. Skriv samma text i cellen. | Alternativknappen är markerad.
Rutan Referensvärde innehåller text. Skriv en annan text i cellen. | Alternativknappen är avmarkerad.

### Textruta med länkad cell

Åtgärd | Resultat
Skriv text i textrutan | Text kopieras till den länkade cellen
Avmarkera textrutan | Länkad cell är avmarkerad
Skriv text eller ett tal i den länkade cellen | Text eller tal kopieras till textrutan
Skriv en formel i den länkade cellen | Formelresultatet kopieras till textrutan
Avmarkera den länkade cellen | Textrutan är avmarkerad

### Numeriska fält och formaterade fält med länkad cell

Åtgärd | Resultat
Skriv ett tal i fältet | Talet kopieras till den länkade cellen
Avmarkera fältet | Värdet 0 anges i den länkade cellen
Skriv ett tal eller en formel som returnerar ett tal i den länkade cellen | Talet kopieras till fältet
Avmarkera den länkade cellen, skriv text eller skriv en formel som returnerar text eller ett fel | Värdet 0 anges i fältet

### Listruta med länkad cell

Listrutor stöder två olika länkmetoder. Mer information finns under "Innehåll i den länkade cellen".

1. Länkat innehåll: Synkronisera textinnehållet för den markerade listruteposten med cellinnehållet.

2. Länkad markeringsposition: Positionen för ett enstaka markerat element i listrutan synkroniseras med det numeriska värdet i cellen.

Åtgärd | Resultat
Markera ett enstaka listelement | Innehållet är länkat: Texten för elementet kopieras till den länkade cellen. Markeringen är länkad: Position för det markerade elementet kopieras till den länkade cellen. Till exempel om det tredje elementet är markerat, kopieras talet 3.
Markera flera listelement | #NV anges i den länkade cellen
Avmarkera alla listelement | Innehållet är länkat: Den länkade cellen är avmarkerad Markeringen är länkad: Värdet 0 anges i den länkade cellen
Skriv text eller ett tal i den länkade cellen | Innehållet är länkat: Sök efter och markera ett likadant listelement Markeringen är länkad: Listelementet vid den angivna positionen (med början vid 1 för det första elementet) markeras. Om det inte finns, avmarkeras alla element.
Skriv en formel i den länkade cellen | Sök efter och markera ett listelement som motsvarar formelresultatet och länkmetoden
Avmarkera den länkade cellen | Avmarkera alla element i listrutan
Ändra innehållet i listans källområde | Listrutelementen uppdateras enligt ändringen. Markeringen bevaras. Det kan göra så att den länkade cellen uppdateras.

### Kombinationsruta med länkad cell

Åtgärd | Resultat
Skriv text i kombinationsrutans redigeringsfält, eller markera en post i listrutan | Text kopieras till den länkade cellen
Avmarkera kombinationsrutans redigeringsfält | Länkad cell är avmarkerad
Skriv text eller ett tal i den länkade cellen | Text eller tal kopieras till kombinationsrutans redigeringsfält
Skriv en formel i den länkade cellen | Formelresultatet kopieras till kombinationsrutans redigeringsfält
Avmarkera den länkade cellen | Kombinationsrutans redigeringsfält är avmarkerat
Ändra innehållet i listans källområde | Listrutelementen uppdateras enligt ändringen. Kombinationsrutans redigeringsfält och den länkade cellen ändras inte.

## Referensvärde (av)

Kryssrutorna och alternativfälten i kalkylbladen kan bindas till celler i det aktuella dokumentet. Om kontrollen är aktiverad kopieras det värde som du skriver i Referensvärde (på) till cellen. Om kontrollen är inaktiverad kopieras det värde som du skriver i Referensvärde (av) till cellen.

## Referensvärde (på)

Du kan använda ett referensvärde för alternativfält och kryssrutor. Referensvärdet kommer att skickas till en server när webbformuläret skickas. För databasformulär kommer detta värde att skrivas till en databas som är kopplad till kontrollfältet.

Referensvärden för webbformulär

Referensvärdena är användbara om du utformar ett webbformulär och informationen om kontrollens status ska överföras till en server. Om en användare klickar på kontrollen skickas motsvarande referensvärde till servern.

Du kan till exempel ha två kontrollfält för alternativen "man" och "kvinna", och ange referensvärdet 1 för fältet "kvinna" och värdet 2 för fältet "man". Värdet 1 kommer då att skickas till servern om användaren klickar på fältet "kvinna", och värdet 2 skickas om användaren klickar på fältet "man".

Referensvärden för databasformulär

För databasformulär kan Du likaså tilldela referensvärden till ett alternativfält eller en kryssruta och spara det referensvärdet i databasen. Exempel: Om Du har en gruppering av de 3 alternativen "under arbete", "klar" och "återremitteras", med referensvärdena "ToDo", "OK" respektive "ÅR", införs referensvärdet i databasen när användaren har markerat respektive alternativ.

## Tom teckensträng är NOLL

Definierar hur en tom sträng ska hanteras. Om egenskapen är aktiv (Ja) kommer en sträng med längd noll tolkas som ett NULL-värde. Om egenskapen är avaktiverad (Nej) kommer strängen att tolkas som en tom sträng.

En tom sträng är en sträng med längden noll (""). Normallt är NULL-värde inte samma sak som en tom sträng. Generellt används termen NULL för att ange ett odefinierat värde, ett okänt värde eller "inget värde har angetts."

Databassystem varierar och kan hantera ett NULL-värde på olika sätt. Information finns i dokumentationen till det databassystem som du använder.

## Typ av listinnehåll

Anger vilka data som en listruta eller ett kombinationsfält ska innehålla.

Med alternativet "Värdelista" kommer alla poster som du skriver in i fältet Listposter under fliken Allmänt att visas i kontrollfältet. Om du arbetar med ett databasformulär kan du använda referensvärdena (se avsnittet Referenser som använder värdelistor).

Om innehållet i ett kontrollfält hämtas från en databas, kan du ange datakällans typ tillsammans med övriga alternativ. Du kan till exempel välja mellan tabeller och sökningar.