Innhald

# Data

På fana Data kan du tilordna ei datakjelde til det valde kontrollelementet.

For å bruka denne funksjonen …

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

Opna verktøylinja Skjemautforming, trykk på ikonet Kontroll ‒ fana Data.

For skjema med databaselenkjer, er databasen som høyrer til vald under Skjemaeigenskapar. Du finn funksjonar for dette på fana Data.

Kva for innstillingar som kan gjerast på Data-fana er avhengig av kva kontrollelement som er i bruk. Det er berre dei innstillingane som gjeld for kontrollelementet i den samanhengen det står som er tilgjengelege.
Desse felta finst:

## Bunde felt

Dersom du slettar innhaldet i Bunde felt-cella i eigenskapane, vert det første feltet frå resultatmengda brukt til å visa og utveksla data.

Denne eigenskapen for listeboksar vel kva datafelt i ein tilknytt tabell som vert vist i skjemaet.

Dersom ein listeboks i skjemaet skal visa innhaldet av ein tabell som er knytt til skjematabellen, kan du velja under Type listeinnhald om visinga skal vera styrt av ein SQL-kommando eller om den tilknytte tabellen skal brukast. Med eigenskapen Bunde felt brukar du ein indeks til å velja kva datafelt i spørjinga eller tabellen som listefeltet skal knytast til.

Eigenskapen Bunde felt gjeld berre for skjema som vert brukte saman med fleire tabellar. Dersom skjemaet er basert på berre éin tabell, vel du feltet som skal visast like under Datafelt. Dersom du heller vil at listeboksen skal visa data frå ein tabell som er knytt til denne tabellen med eit felles datafelt, vel du det lenkja datafeltet med eigenskapen Bunde felt.

Viss du vel «SQL» under Type listeinnhald, er det ei SQL-spørjing som avgjer kva for indeks som skal brukast. Eksempel: Viss du vel SQL-spørjinga «SELECT Felt1, Felt2 FROM tabellnamn» under Listeinnhald, gjeld denne tabellen:

Bunde felt | Lenkje
--- | ---
-1 | Indeksen for den valde oppføringa i lista er knytt til feltet som er vald under Datafelt.
{tom} eller 0 | Den første kolonnen i tabellen er knytt til feltet som er valt under Datafelt.
1 | Den første kolonnen i tabellen er knytt til feltet som er valt under Datafelt.

Viss du vel «Tabell» under Type listeinnhald, er det tabellstrukturen som avgjer kva for indeks som skal brukast. Eksempel: Viss du vel ein databasetabell under Listeinnhald, gjeld denne tabellen:

Bunde felt | Lenkje
--- | ---
-1 | Indeksen for den valde oppføringa i lista er knytt til feltet som er vald under Datafelt.
{tom} eller 0 | Den første kolonnen i tabellen er knytt til feltet som er valt under Datafelt.
1 | Den andre kolonnen i tabellen er knytt til feltet som er valt under Datafelt.
2 | Den tredje kolonnen i tabellen er knytt til feltet som er valt under Datafelt.

## Datafelt

I databaseskjema kan du kopla kontrollelement til datafelta.

Du har fleire alternativ:

1. Tilfelle 1: Det er berre éin tabell i skjemaet.

   Under Datafelt vel du kva felt i datakjeldetabellen som skal visast.

2. Tilfelle 2: Kontrollelementet høyrer til eit underskjema som er laga ut frå ei SQL-spørjing.

   Under Datafelt vel du kva felt frå SQL-uttrykket som skal visast.

1. Tilfelle 3: Kombinasjonsboksar

   For kombinasjonsboksar bør du under Datafelt velja det feltet i datakjeldetabellen der verdiane som brukaren vel eller skriv inn er lagra. Verdiane som er viste i lista til kombinasjonsboksen er basert på SQL-uttrykket under Listeinnhald.

2. Tilfelle 4: Listeboksar

   Datakjeldetabellen inneheld ikkje dei dataa som skal visast, men heller ein tabell som er knytt til datakjeldetabellen gjennom eit felles datafelt.

   Dersom du vil at ein listeboks skal visa data frå ein tabell som er knytt til datakjeldetabellen, vel du det feltet frå datakjeldetabellen som innhaldet i listeboksen refererer til under Datafelt. Du kan òg velja kva databasefelt som styrer visinga av dataa i skjemaet. Dette datafeltet knyter tabellen til ein annan tabell dersom begge kan knytast saman gjennom eit felles datafelt. Vanlegvis vert det gjort med eit felt der eit unikt identifikasjonsnummer er lagra. Under Listeinnhald kan du laga eit SQL-uttrykk som vel kva datafelt innhaldet i skjemaet skal hentast frå.

Listeboksar arbeider med referansar. Dei kan anten lagast som samanknytte tabellar med SQL-uttrykk (tilfelle 4) eller ved verdilister:

Referansar gjennom samanknytte tabellar (SQL-uttrykk)

Dersom du vil at ein listeboks skal visa data frå ein databasetabell som er knytt til tabellen i skjemaet gjennom eit felles datafelt, vel du lenkjefeltet i skjematabellen under Datafelt.

Lenkja vert laga med SQL-uttrykket «SELECT», som kan skrivast inn i feltet Listeinnhald under Type listeinnhald viss «SQL» eller «SQL [lokalt]» er vald. For eksempel kan ein tabell med namnet «Ordrar» vera knytt til det gjeldande kontrollelementet, medan databasen inneheld ein tabell med namnet «Kundar», som også er knytt til tabellen «Ordrar». Då kan du bruka dette SQL-uttrykket:

SELECT Kundenamn, Kundenr FROM Kundar,

der «Kundenamn» er datafeltet frå den lenkja tabellen «Kundar», og «Kundenr» er feltet i tabellen «Kundar» som er knytt til eit felt i skjematabellen «Ordrar», som er vald under Datafelt.

Referansar med verdilister

Du kan bruka verdilister saman med listeboksar. Dette er lister som definerer referanseverdiar. På denne måten kan kontrollelementa i skjemaet visa andre verdiar enn dei som ligg i databasefeltet.

Viss du arbeider med referanseverdiar i ei verdiliste, vert dei tilordna verdiane viste i staden for innhaldet i datafeltet som er vald under Datafelt i skjemaet. Viss du har vald «Verdiliste» under Type listeinnhald på fana Data og tilordna ein referanseverdi til dei synlege listeoppføringane i skjemaet under Listeoppføringar (på fana Generelt), vert referanseverdiane samanlikna med innhaldet i det valde datafeltet. Viss ein referanseverdi svarar til innhaldet i eit datafelt, vert dei tilknytte listeoppføringane viste i skjemaet.

## Den tomme strengen er NULL

Bestemmer korleis ein tom streng skal handsamast. Viss denne eigenskapen er sett til «Ja», vert ein streng med lengd null tolka som ein NULL-verdi. Viss eigenskapen er sett til «Nei», vert inndata handsama slik dei er, utan omforming.

Ein tom streng er ein streng med lengd null («»). Ein verdi NULL vil normalt ikkje vera det same som ein tom streng. Ordet NULL vert gjerne brukt for ein udefinert verdi, ein ukjent verdi eller «ingen verdi er skrive inn ennå».

Databasesystema er ulike og handsamar NULL-verdiar ulikt. Slå opp i dokumentasjonen til databasen du brukar.

## Filterframlegg

Når du utformar eit skjema, kan du velja eigenskapen «Filterforslag» for kvar tekstboks på fana Data i det tilsvarande dialogvindauget Eigenskapar. Når du seinare søkjer i filtermodus, kan du velja mellom all informasjonen som ligg i desse felta. Då kan du bruka autofullføring til å velja innhald i felta. Ver merksam på at denne funksjonen krev mykje minne og kan ta lang tid, særleg når han vert brukt på store databaser. Difor bør du bruka denne funksjonen berre når det er nødvendig.

## Innhald i den lenkja cella

Vel korleis du vil kopla ei liste til ei celle i eit rekneark.

1. Lenkja innhald: Synkroniser tekstinnhaldet i den valde listeboksoppføringa med celleinnhaldet. Vel «Den merkte innskrivinga».

2. Posisjon av lenkja innhald: Posisjonen til den valde oppføringa i listeboksen vert synkronisert med talverdien i cella. Vel «Posisjonen for den merkte innskrivinga».

## Kjeldecelleområde

Skriv inn eit celleområde som inneheld oppføringar til ein listeboks eller kombinasjonsboks i eit rekneark. Dersom du vel eit område som går over fleire kolonnar, vert berre innhaldet i kolonnen lengst til venstre brukt til å fylla kontrollelementet.

## Lenkja celle

Oppgjev referansen til ei lenkja celle i eit rekneark. Tilstanden og innhaldet i kontrollelementet vert lenkja til celleinnhaldet. Desse tabellane listar opp kontrollelementa og lenkjetypen som høyrer til:

### Avkryssingboks med lenkja celle

Handling | Resultat
--- | ---
Set kryss i boksen: | SANN vert sett inn i den lenkja cella.
Fjern krysset frå boksen: | USANN vert sett inn i den lenkja cella.
Trevalsboksen er sett i «uavgjort»-tilstand | #NV vert sett inn i den lenkja cella.
Skriv inn eit tal eller ein formel som returnerer eit tal i den lenkja cella: | Dersom den innskrivne verdien er SANN eller ikkje 0: Set kryss i boksen. Dersom den innskrivne verdien er USANN eller 0: Fjern krysset frå boksen.
Tøm den lenkja cella, skriv inn tekst eller skriv inn ein formel som returnerer tekst eller ein feil. | Avkryssingsboksen vert sett til «uavgjort»-tilstand viss det er ein trevalsboks. Viss ikkje, vert avkryssinga fjerna.
Set kryss i boksen. Referanseverdiboksen inneheld tekst: | Teksten frå referanseverdiboksen vert kopiert til cella.
Fjern krysset frå boksen. Referanseverdiboksen inneheld tekst: | Ein tom streng vert kopiert til cella.
Referanseverdiboksen inneheld tekst. Skriv inn den same teksten i cella: | Det er kryss i boksen.
Referanseverdiboksen inneheld tekst. Skriv inn ein annan tekst i cella: | Det er ikkje kryss i boksen.

### Alternativknapp (radioknapp) med lenkja celle

Handling | Resultat
--- | ---
Vel alternativknappen: | SANN vert sett inn i den lenkja cella.
Alternativknappen vert avmarkert ved at eit anna alternativ vert valt: | USANN vert sett inn i den lenkja cella.
Skriv inn eit tal eller ein formel som returnerer eit tal i den lenkja cella: | Dersom den innskrivne verdien er SANN eller ikkje 0: Alternativknappen vert vald. Dersom den innskrivne verdien er USANN eller 0: Alternativknappen vert slått av.
Tøm den lenkja cella, skriv inn tekst eller skriv inn ein formel som returnerer tekst eller ein feil: | Alternativknappen er avmarkert.
Trykk på alternativknappen. Referanseverdiboksen inneheld tekst: | Teksten frå referanseverdiboksen vert kopiert til cella.
Trykk på ein annan av alternativknappane i den same gruppa. Referanseverdiboksen inneheld tekst: | Ein tom streng vert kopiert til cella.
Referanseverdiboksen inneheld tekst. Skriv inn den same teksten i cella: | Alternativknappen er vald.
Referanseverdiboksen inneheld tekst. Skriv inn ein annan tekst i cella: | Alternativknappen er ikkje vald.

### Tekstboks med lenkja celle

Handling | Resultat
--- | ---
Skriv inn tekst i tekstfeltet: | Teksten er kopiert til den lenkja cella.
Tøm tekstboksen: | Den lenkja cella er tømt.
Skriv inn ein tekst eller eit tal i den lenkja cella: | Teksten eller talet vert kopiert til tekstboksen
Skriv inn ein formel i den lenkja cella: | Formelresultatet vert kopiert til tekstboksen.
Tøm den lenkja cella: | Tekstboksen vert tømd.

### Talfelt og formatert felt med lenkja celle

Handling | Resultat
--- | ---
Skriv inn eit tal i feltet: | Talet vert kopiert til den lenkja cella.
Tøm feltet: | Verdien 0 vert lagd i den lenkja cella
Skriv inn eit tal eller ein formel som returnerer eit tal i den lenkja cella: | Talet vert kopiert til feltet.
Tøm den lenkja cella, skriv inn tekst eller skriv inn ein formel som returnerer tekst eller ein feil: | Verdien 0 vert sett i feltet.

### Listeboks med lenkja celle

Listeboksar støtter lenking på to ulike måtar. Sjå eigenskapen «Innhald i den lenka cella».

1. Lenkja innhald: Synkroniser tekstinnhaldet i den valde listeboksoppføringa med celleinnhaldet.

2. Posisjon av lenkja innhald: Posisjonen til den valde oppføringa i listeboksen vert synkronisert med talverdien i cella.

Handling | Resultat
--- | ---
Vel éi listeoppføring: | Innhaldet er lenkja: Teksten til oppføringa vert kopiert til den lenkja cella. Valet er lenkja: Posisjonen til den valde oppføringa vert kopiert til den lenkja cella. Dersom for eksempel den tredje oppføringa er vald, vert talet 3 kopiert.
Vel fleire listeoppføringar: | #NV vert sett inn i den lenkja cella.
Fjern valet av alle listeoppføringar: | Innhaldet er lenkja: Den lenkja cella vert tømt. Valet er lenkja: Verdien 0 vert lagd i den lenkja cella.
Skriv inn tekst eller eit tal i den lenkja cella: | Innhaldet er lenkja: Finn og vel ei lik listeoppføring. Valet er lenkja: Listeoppføringa til den valde posisjonen (byrjar med 1 for den første oppføringa) vert vald. Dersom ho ikkje finst, vert ingen av oppføringane valde.
Skriv inn ein formel i den lenkja cella: | Finn og vel ei listeoppføring som svarar til formelresultatet og lenkjemodusen.
Tøm den lenkja cella: | Vel ingen av oppføringane i listeboksen.
Endra innhaldet i kjeldeområdet til lista: | Oppføringar i listeboksen vert oppdaterte ved endringa. Valde oppføringar vert tekne vare på. Dette kan føra til oppdatering av den lenkja cella.

### Kombinasjonsboks med lenkja celle

Handling | Resultat
--- | ---
Skriv inn tekst i skrivefeltet på kombinasjonsboksen eller vel ei oppføring frå nedtrekkslista: | Teksten er kopiert til den lenkja cella.
Tøm skrivefeltet til kombinasjonsboksen: | Den lenkja cella er tømt.
Skriv inn tekst eller eit tal i den lenkja cella: | Tekst eller tal vert kopiert til skrivefeltet på kombinasjonsboksen.
Skriv inn ein formel i den lenkja cella: | Formelresultatet vert kopiert til skrivefeltet på kombinasjonsboksen.
Tøm den lenkja cella: | Skrivefeltet på kombinasjonsboksen vert tømt.
Endra innhaldet i kjeldeområdet til lista: | Oppføringar i nedtrekkslista vert oppdaterte ved endringa. Skrivefeltet på kombinasjonsboksen og den lenkja cella vert ikkje endra.

## Listeinnhald

Med databaseskjema kan du velja ei datakjelde for innhaldet i listene til skjemaelementet. Dette feltet kan brukast til å laga ei liste over verdiar for dokument utan samband til ein database.

Når databaseskjema vert brukt, er det datakjelda som avgjer kva oppføringar som vert viste i lista eller kombinasjonsboksen. Avhengig av kva type som er vald, kan du velja mellom ulike datakjelder under Listeinnhald, så sant disse objekta finst i databasen. Du kan velja mellom dei tilgjengelege databaseobjekta av den typen som er vald under Type listeinnhald. Viss du har vald typen «Verdiliste», kan du bruka referansar i databaseskjema. Viss visinga av kontrollelementet vert styrt av ein SQL-kommando, kan du skriva inn SQL-uttrykket her.

Eksempel på SQL-uttrykk:

I listeboksar kan eit SQL-uttrykk sjå slik ut:

SELECT felt1, felt2 FROM tabell

Her viser «tabell» til tabellen som inneheld dataa som vert viste i lista i kontrollelementet (listetabellen). «felt1» viser til datafeltet som avgjer kva oppføringar som skal visast i skjemaet, det vil seia innhaldet som vert vist i listeboksen. «felt2» er feltet i listetabellen som er knytt til skjematabellen (verditabellen) gjennom feltet som er vald under Datafelt viss Bunde felt = 1 er vald.

I kombinasjonsboksar kan eit SQL-uttrykk sjå slik ut:

SELECT DISTINCT felt FROM tabell

Her viser «felt» til datafeltet frå listetabellen «tabell», som har innhaldet som vert vist i lista til kombinasjonsboksen.

Verdilister for HTML-dokument

I HTML-skjema kan du skriva inn ei verdiliste under Listeinnhald. Vel alternativet «Verdiliste» under Type listeinnhald. Verdiane du skriv inn her, vert ikkje viste i skjemaet, men vert brukte til å tilordna verdiar til oppføringane som vert viste. Oppføringane under Listeinnhald svarar til HTML-taggen <OPTION VALUE=…>.

Når data vert overførte frå ei vald oppføring i ein listeboks eller ein kombinasjonsboks, vert det teke omsyn til både lista av verdiar som vert vist i skjemaet, slik det er vald under Listeoppføringar på fana Generelt og til verdilista som er vald under Listeinnhald på fana Data: Viss det finst ein (ikkje-tom) tekst ved den valde posisjonen i verdilista (<OPTION VALUE=…>), vert han sendt. Viss ikkje, vert teksten som vert vist i kontrollelementet (<OPTION>) send.

Viss verdilista skal innehalda ein tom streng, skriv du inn verdien «$$$empty$$$» ved den aktuelle posisjonen under Listeinnhald. (Pass på små/store bokstavar.) LibreOffice vil tolka dette som ein tom streng og tilordna han til den aktuelle listeoppføringa.

Tabellen nedanfor viser forholdet mellom HTML, JavaScript og Listeinnhald-feltet i LibreOffice ved hjelp av eksempellisteboksen «Listeboks1». I dette tilfellet viser «Element» til ei listeoppføring som er synleg i skjemaet:

HTML-tagg | JavaScript | Oppføring i verdilista til kontrollelementet (listeinnhald) | Overført data
<OPTION>Element | Ikkje mogleg | "" | den synlege oppføringa («Listeboks1=Element»)
<OPTION VALUE="Verdi">Element | ListBox1.options[0].value="Verdi" | «Verdi» | Verdien som er tilordna listeoppføringa («ListBox1=Verdi»)
<OPTION VALUE="">Element | ListBox1.options[0].value="" | "$$$empty$$$" | Ein tom streng («ListBox1=»)

## Referanseverdi (av)

Avkryssingsboksar og radioknappar i rekneark kan knytast til celler i dokumentet. Viss kontrollelementet er slått på, vert verdien du skriv inn i Referanseverdi (på) kopiert til cella. Viss kontrollelementet er slått av, vert verdien frå Referanseverdi (av) kopiert til cella.

## Referanseverdi (på)

Du kan tildela ein referanseverdi til valknappar og avkryssingsboksar. Referanseverdien vert send tilbake til tenaren når nettskjemaet vert sendt. Med databaseskjema vert verdien som er sett inn her skriven i databasen tildelt til kontrollfeltet.

Referanseverdiar for databaseskjema

Referanseverdiar er nyttige viss du lagar eit nettskjema og vil senda informasjon om tilstanden til kontrollelementet til ein tenar. Viss brukaren trykkjer på kontrollelementet, vert den tilsvarande referanseverdien sendt til tenaren.

Viss du for eksempel har to kontrollfelt, eitt for valet «kvinne» og eitt for valet «mann», og tilordnar referanseverdien 1 til feltet «kvinne» og 2 til feltet «mann», vert verdien 1 sendt til tenaren når brukaren klikkar på «kvinne» og 2 vert send når brukaren klikkar på «mann».

Referanseverdiar for databaseskjema

I databaseskjema kan du også karakterisere tilstanden til eit alternativ eller ein avkryssingsboks som ein referanseverdi i databasen. Viss du for eksempel har dei tre alternativa «under arbeid», «ferdig» og «må gjerast på nytt», med referanseverdiane «UA», «OK» og «PN», kan desse referanseverdiane visast i databasen når det tilhøyrande alternativet vert vald.

## Type listeinnhald

Bestemmer dei dataa som skal fylla listene i liste- og kombinasjonsfelt.

Alternativet «Verdiliste» gjer at alle oppføringane i feltet Listeoppføringar på fana Generelt vert viste i kontrollelementet. I databaseskjema kan du bruka referanseverdiar (sjå Referansar med verdilister).

Dersom innhaldet i kontrollelementet er henta frå ein database, kan du velja kva type datakjelda er med dei andre alternativa. Du kan for eksempel velja mellom tabellar og spørjingar.