Innhold

# Data

På fanen Data kan du tilordne en datakilde til det valgte kontrollelementet.

For å bruke denne funksjonen …

Åpne kontekstmenyen for et valgt skjemaelement - velg Kontrollegenskaper - Data-fanen.

Åpne verktøylinjen Skjemadesign, klikk på Kontroll-ikonet - kategorien Data.

Når det gjelder skjemaer med databaselenker, velges den tilknyttede databasen i Skjemaegenskaper. Du finner funksjoner for dette i fanen Data.

Innstillingene som er mulige i fanen Data for et kontrollelement avhenger av det gjeldende kontrolelementet. Bare innstillinger som er tilgjengelige for det gjeldende kontrollelementet og den gjeldende sammenhengen, vises.
De følgende feltene er tilgjengelige:

## Bundet felt

Hvis du sletter innholdet i Bundet felt-cellen i egenskapene, blir det første feltet fra resultatmengden brukt til å vise og utveksle data.

Denne egenskapen for listebokser brukes til å velge hvilket datafelt i en lenket tabell som skal vises i skjemaet.

Hvis en listeboks i skjemaet skal vise innholdet i en tabell som er lenket til skjematabellen, kan du bruke Type listeinnhold-feltet til å velge om visningen skal styres av en SQL-kommando eller om den tilknyttede tabellen skal brukes. Egenskapen Bundet felt lar deg bruke en indeks til å velge hvilket datafelt i spørringen eller tabellen som listefeltet skal knyttes til.

Egenskapen Bundet felt gjelder bare for skjemaer som bruker flere tabeller. Hvis skjemaet er basert på bare én tabell, velger du feltet som skal vises i skjemaet, like under Datafelt. Hvis du heller vil at listeboksen skal vise data fra en tabell som er lenket til denne tabellen med et felles datafelt, velger du det lenkede datafeltet med egenskapen Bundet felt.

Hvis du velger «SQL» under Type listeinnhold, er det en SQL-spørring som avgjør hvilken indeks som skal brukes. Eksempel: Hvis du velger SQL-spørringen «SELECT Felt1, Felt2 FROM tabellnavn» under Listeinnhold, gjelder den følgende tabellen:

Bundet felt | Lenke
--- | ---
-1 | Indeksen for den valgte oppføringen i listen er knyttet til feltet som er valgt under Datafelt.
{tom} eller 0 | Databasefeltet «Felt1» er knyttet til feltet som er valgt under Datafelt.
1 | Databasefeltet «Felt2» er knyttet til feltet som er valgt under Datafelt.

Hvis du velger «Tabell» under Type listeinnhold, er det tabellstrukturen som avgjør hvilken indeks som skal brukes. Eksempel: Hvis du velger en databasetabell under Listeinnhold, gjelder den følgende tabellen:

Bundet felt | Lenke
--- | ---
-1 | Indeksen for den valgte oppføringen i listen er knyttet til feltet som er valgt under Datafelt.
{tom} eller 0 | Den første kolonnen i tabellen er knyttet til feltet som er valgt under Datafelt.
1 | Den andre kolonnen i tabellen er knyttet til feltet som er valgt under Datafelt.
2 | Den tredje kolonnen i tabellen er knyttet til feltet som er valgt under Datafelt.

## Datafelt

Med databaseskjemaer kan du koble kontroller med datafeltene.

Du har flere alternativer:

1. Tilfelle 1: Det er bare én tabell i skjemaet.

   Under Datafelt velger du feltet i datakildetabellen som har innholdet du vil vise.

2. Tilfelle 2: Kontrollelementet tilhører et underskjema som er laget med en SQL-spørring.

   Under Datafelt velger du feltet i SQL-uttrykket som har innholdet du vil vise.

1. Tilfelle 3: Kombinasjonsbokser

   Når det gjelder kombinasjonsbokser, bør du velge feltet i datakildetabellen som inneholder verdiene som brukeren velger eller skriver, under Datafelt. Verdiene som vises i listen til kombinasjonsboksen er basert på SQL-uttrykket som er valgt under Listeinnhold.

2. Tilfelle 4: Listebokser

   Datakildetabellen inneholder ikke dataene som skal vises, men derimot en tabell som er knyttet til datakildetabellen gjennom et felles datafelt.

   Hvis du vil bruke en listeboks til å vise data fra en tabell som er knyttet til datakildetabellen, velger du feltet i datakildetabellen som innholdet i listeboksen refererer til, under Datafelt. Du kan også velge databasefeltet som styrer visningen av dataene i skjemaet. Dette datafeltet er en lenke til den andre tabellen. Det forutsettes at tabellene kan knyttes sammen gjennom et felles datafelt. Vanligvis gjøres dette med et datafelt der unike identifikasjonsnumre lagres. Under Listeinnhold kan du velge et SQL-uttrykk som velger datafeltet med innhold som skal vises i skjemaet.

Listebokser bruker referanser. De kan enten lages med tabeller som knyttes sammen med SQL-uttrykk (som i det fjerde tilfellet over) eller med verdilister:

Referanser gjennom sammenknyttede tabeller (SQL-uttrykk)

Hvis du vil bruke en listeboks til å vise data fra en databasetabell, der databasetabellen er knyttet til tabellen som skjemaet er bygget på gjennom et felles datafelt, velger du lenkefeltet til skjematabellen under Datafelt.

Lenken lages med SQL-uttrykket «SELECT», som kan skrives inn i feltet Listeinnhold under Type listeinnhold hvis «SQL» er valgt. For eksempel kan en tabell kalt «Ordrer» være knyttet til det gjeldende kontrollelementet, mens databasen inneholder en tabell kalt «Kunder», som også er knyttet til tabellen «Ordrer». Da kan du bruke dette SQL-uttrykket:

SELECT Kundenavn, Kundenr FROM Kunder,

der «Kundenavn» er datafeltet fra den lenkede tabellen «Kunder», og «Kundenr» er feltet i tabellen «Kunder» som er knyttet til et felt i skjematabellen «Ordrer», som er valgt under Datafelt.

Referanser med verdilister

Du kan bruke verdilister sammen med listebokser. Verdilister brukes til å angi referanseverdier. På denne måten kan kontrollelementene i skjemaet vise verdiene i verdilisten i steden for å vise innholdet i et databasefelt direkte.

Hvis du arbeider med referanseverdier i en verdiliste, blir de tilordna verdiene vist i stedet for innholdet i datafeltet som er valgt under Datafelt i skjemaet. Hvis du har valgt «Verdiliste» under Type listeinnhold på fanen Data og tilordna en referanseverdi til de synlige listeoppføringene i skjemaet under Listeoppføringer (på fanen Generelt), sammenlignes referanseverdiene med innholdet i det valgte datafeltet. Hvis en referanseverdi tilsvarer innholdet i et datafelt, vises de tilknyttede listeoppføringene i skjemaet.

## Filterforslag

Når du utformer skjemaet ditt, kan du angi egenskapen "Filter forslag" for hver tekstboks i Data-fanen til den tilsvarende Egenskaper dialog. I påfølgende søk i filtermodus kan du velge fra all informasjon som finnes i disse feltene. Feltinnholdet kan deretter velges ved hjelp av Autofullfør-funksjonen. Vær imidlertid oppmerksom på at denne funksjonen krever en større mengde minneplass og tid, spesielt når den brukes i store databaser og bør derfor brukes sparsomt.

## Innhold i den lenkede cellen

Velg modusen for å koble en listeboks med en koblet celle i et regneark.

1. Lenket innhold: Synkroniser tekstinnholdet i den valgte listeboksoppføringen med celleinnholdet.

2. Lenket utvalgsposisjon: Posisjonen til den valgte enkeltoppføringen i listeboksen blir synkronisert med tallverdien i cellen.

## Kildecelleområde

Skriv inn et celleområde som inneholder oppføringene for en listeboks eller kombinasjonsboks på et regneark. Hvis du angir et område med flere kolonner, brukes bare innholdet i kolonnen lengst til venstre for å fyll kontrollen.

## Lenket celle

Angir referansen til en koblet celle i et regneark. Den aktive tilstanden eller innholdet til kontrollen er koblet til celleinnholdet. Følgende tabeller viser kontrollene og deres tilsvarende koblingstype:

### Avkryssingboks med lenket celle

Handling | Resultat
--- | ---
Sett kryss i boksen | SANN blir satt inn i den lenkede cellen
Fjern krysset fra boksen: | USANN blir satt inn i den lenkede cellen.
Trevalgsboksen blir satt i «uavgjort»-tilstand | #NV blir satt inn i den lenkede cellen
Skriv inn et tall eller en formel som returnerer et tall i den lenkede cellen: | Hvis verdien som settes inn er SANN eller ikke 0: Sett kryss i boksen. Hvis verdien som settes inn er USANN eller 0: Fjern krysset fra boksen.
Tøm den lenkede cellen, skriv inn tekst eller skriv inn en formel som returnerer tekst eller en feil. | Avkryssingsboksen blir satt til «uavgjort» tilstand hvis det er en trevalgsboks. Hvis ikke, blir krysset fjernet.
Sett kryss i boksen. Referanseverdiboksen inneholder tekst: | Teksten fra referanseverdiboksen blir kopiert til cellen.
Fjern krysset fra boksen. Referanseverdiboksen inneholder tekst: | En tom streng blir kopiert til cellen.
Referanseverdiboksen inneholder tekst. Skriv inn den samme teksten i cellen: | Det er kryss i boksen.
Referanseverdiboksen inneholder tekst. Skriv inn en annen teksten i cellen: | Det er ikke kryss i boksen.

### Alternativknapp (radioknapp) med lenket celle

Handling | Resultat
--- | ---
Velg alternativknappen | SANN blir satt inn i den lenkede cellen
Alternativknappen blir avmarkert ved at et annet alternativ blir valgt: | USANN blir satt inn i den lenkede cellen.
Skriv inn et tall eller en formel som returnerer et tall i den lenkede cellen: | Hvis verdien som settes inn er SANN eller ikke 0: Sett kryss i boksen. Hvis verdien som settes inn er USANN eller 0: Fjerner krysset fra boksen.
Tøm den lenkede cellen, skriv inn tekst eller skriv inn en formel som returnerer tekst eller en feil. | Alternativknappen blir avmarkert
Trykk på alternativknappen. Referanseverdiboksen inneholder tekst. | Teksten fra referanseverdiboksen blir kopiert til cellen.
Trykk på en annen alternativknapp i den samme gruppen. Referanseverdiboksen inneholder tekst: | En tom streng blir kopiert til cellen.
Referanseverdiboksen inneholder tekst. Skriv inn den samme teksten i cellen: | Alternativknappen er valgt.
Referanseverdiboksen inneholder tekst. Skriv inn en annen teksten i cellen: | Alternativknappen er ikke valgt.

### Tekstboks med lenket celle

Handling | Resultat
--- | ---
Skriv inn tekst i tekstfeltet: | Teksten blir kopiert til den lenkede cellen.
Tøm tekstboksen: | Den lenkede cellen blir tømt.
Skriv inn tekst eller et tall i den lenkede cellen: | Teksten eller tallet blir kopiert til tekstboksen
Skriv inn en formel i den lenkede cellen: | Formelresultatet blir kopiert til tekstboksen
Tøm den lenkede cellen: | Tekstboksen blir tømt

### Tallfelt og formatert felt med lenket celle

Handling | Resultat
--- | ---
Skriv inn et tall i feltet: | Tallet blir kopiert til den lenkede cellen
Tøm feltet: | Verdien 0 blir lagt inn i den lenkede cellen
Skriv inn et tall eller en formel som returnerer et tall i den lenkede cellen: | Tallet blir kopiert til feltet.
Tøm den lenkede cellen, skriv inn tekst eller skriv inn en formel som returnerer tekst eller en feil: | Verdien 0 blir lagt inn i feltet.

### Listeboks med lenket celle

Listebokser støtter lenking på to forskjellige måter. Se egenskapen «Innhold i den lenkede cellen».

1. Lenket innhold: Synkroniser tekstinnholdet i den valgte listeboksoppføringen med celleinnholdet.

2. Lenket utvalgsposisjon: Posisjonen til den valgte enkeltoppføringen i listeboksen blir synkronisert med tallverdien i cellen.

Handling | Resultat
--- | ---
Velg en listeoppføring: | Innholdet er lenket: Teksten til oppføringen blir kopiert til den lenkede cellen. Utvalget er lenket: Posisjonen til den valgte oppføringen blir kopiert til den lenkede cellen. Hvis for eksempel den tredje oppføringen er valgt, blir tallet 3 kopiert.
Velg flere listeoppføringer: | #NV blir satt inn i den lenkede cellen
Fjern alle listeoppføringer: | Innholdet er lenket: Den lenkede cellen blir tømt. Utvalget er lenket: Verdien 0 blir lagt inn i den lenkede cellen.
Skriv inn tekst eller et tall i den lenkede cellen: | Innholdet er lenket: Finn og velg en lik listeoppføring. Utvalget er lenket: Listeoppføringen ved den valgte posisjonen (starter med 1 for den første oppføringen) blir valgt. Hvis den ikke finnes, blir ingen av oppføringene valgt.
Skriv inn en formel i den lenkede cellen: | Finn og velg en listeoppføring som svarer til formelresultatet og lenkemodusen
Tøm den lenkede cellen: | Velg ingen av oppføringene i listeboksen
Endre innholdet i kildeområdet til listen: | Oppføringer i listeboksen oppdateres med endringen. Utvalget blir tatt vare på. Dette kan føre til at den lenkede cellen oppdateres.

### Kombinasjonsboks med lenket celle

Handling | Resultat
--- | ---
Skriv inn tekst i skrivefeltet på kombinasjonsboksen eller velg en oppføring fra nedtrekkslisten: | Teksten blir kopiert til den lenkede cellen.
Tøm skrivefeltet til kombinasjonsboksen: | Den lenkede cellen blir tømt.
Skriv inn tekst eller et tall i den lenkede cellen: | Tekst eller tall blir kopiert til skrivefeltet på kombinasjonsboksen.
Skriv inn en formel i den lenkede cellen: | Formelresultatet blir kopiert til skrivefeltet på kombinasjonsboksen.
Tøm den lenkede cellen: | Skrivefeltet på kombinasjonsboksen blir tømt.
Endre innholdet i kildeområdet til listen: | Oppføringer i nedtrekkslisten oppdateres med endringen. Skrivefeltet på kombinasjonsboksen og den lenkede cellen blir ikke endret.

## Listeinnhold

Med databaseskjemaer spesifiserer datakilden for listeinnholdet til skjemaelementet. Dette feltet kan brukes til å definere en verdiliste for dokumenter uten en databaseforbindelse.

Når databaseskjemaer brukes, er det datakilden som avgjør hvilke oppføringer som vises i listen eller kombinasjonsboksen. Avhengig av hvilken type som er valgt, kan du velge mellom ulike datakilder under Listeinnhold, så sant disse objektene finnes i databasen. Du kan velge mellom de tilgjengelige databaseobjektene av den typen som er valgt under Type listeinnhold. Hvis du har valgt typen «Verdiliste», kan du bruke referanser i databaseskjemaer. Hvis visningen av kontrollelementet styres av en SQL-kommando, kan du skrive inn SQL-uttrykket her.

Eksempler på SQL-uttrykk:

I listebokser kan et SQL-uttrykk se slik ut:

SELECT felt1, felt2 FROM tabell

Her viser «tabell» til tabellen som inneholder dataene som vises i listen i kontrollelementet (listetabellen). «felt1» viser til datafeltet som avgjør hvilke oppføringer som skal vises i skjemaet, det vil si innholdet som vises i listeboksen. «felt2» er feltet i listetabellen som er knyttet til skjematabellen (verditabellen) gjennom feltet som er valgt under Datafelt hvis Bundet felt = 1 er valgt.

I kombinasjonsbokser kan et SQL-uttrykk se slik ut:

SELECT DISTINCT felt FROM tabell

Her viser «felt» til datafeltet fra listetabellen «tabell», som har innholdet som vises i listen til kombinasjonsboksen.

Verdilister for HTML-dokumenter

I HTML-skjemaer kan du skrive inn en verdiliste under Listeinnhold. Velg alternativet «Verdiliste» under Type listeinnhold. Verdiene du skriver inn her, vises ikke i skjemaet, men brukes til å tilordne verdier til oppføringene som vises. Oppføringene under Listeinnhold tilsvarer HTML-taggen <OPTION VALUE=…>.

Når data overføres fra en valgt oppføring i en listeboks eller en kombinasjonsboks, tas det hensyn til både listen av verdier som vises i skjemaetFanen Genereltunder verdilisten som er valgt underListeinnhold på fanen Data: Hvis det finnes (ikke-tom) tekst ved den valgte posisjonen i verdilisten (<OPTION VALUE=…>), blir den sendt. Hvis ikke, vises teksten i (<OPTION>).

Hvis verdilisten skal inneholde en tom streng, skriver du inn verdien «$$$empty$$$» ved den aktuelle posisjonen under Listeinnhold. (Pass på små/store bokstaver.) LibreOffice vil tolke dette som en tom streng, og tilordne den til den aktuelle listeoppføringen.

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

HTML-tagg | JavaScript | Oppføring i verdilisten til kontrollelementet (listeinnhold) | Data som overføres
<OPTION>Element | Ikke mulig | «» | Listeoppføringen som vises («Listeboks1=Element»)
<OPTION VALUE="Value">Element | Listeboks1.options[0].value="Verdi" | «Verdi» | Verdien som er tilordnet listeoppføringen («Listeboks1=Verdi»)
<OPTION VALUE="">Element | Listeboks1.options[0].value="" | «$$$empty$$$» | En tom streng («Listeboks1=»)

## Referanseverdi (av)

Avkryssingsbokser og radioknapper i regneark kan knyttes til celler i dokumentet. Hvis kontrollelementet blir slått på, blir verdien du skriver inn i «Referanseverdi (på)» kopiert til cellen. Hvis kontrollelementet er slått av, blir verdien fra «Referanseverdi (av)» kopiert til cellen.

## Referanseverdi (på)

Du kan tilordne en referanseverdi til alternativknapper og avmerkingsbokser. Referanseverdien vil bli sendt til en server ved innsending av nettskjemaet. Med databaseskjemaer vil verdier som legges inn her bli skrevet i databasen som er tilordnet kontrollfeltet.

Referanseverdier for nettskjemaer

Referanseverdier er nyttige hvis du lager et nettskjema og vil sende informasjon om tilstanden til kontrollelementet til en tjener. Hvis brukeren trykker på kontrollelementet, sendes den tilsvarende referanseverdien til tjeneren.

Hvis du for eksempel har to kontrollfelter, ett for valget «hunkjønn» og ett for valget «hankjønn», og tilordner referanseverdien 1 til feltet «hunkjønn» og 2 til feltet «hankjønn», blir verdien 1 sendt til tjeneren når brukeren velger «hunkjønn» og 2 blir send når brukeren velger «hankjønn».

Referanseverdier for databaseskjemaer

I databaseskjemaer kan du også angi tilstanden til et alternativ eller en avkryssingsboks som en referanseverdi i databasen. Hvis du for eksempel har de tre alternativene «under arbeid», «ferdig» og «må gjøres på nytt», med referanseverdiene «UA», «OK» og «PN», kan disse referanseverdiene vises i databasen når det tilhørende alternativet blir valgt.

## Tom streng er NULL

Definerer hvordan en tom inndata streng skal håndteres. Hvis satt til "Ja", vil en inndatastreng med lengde null bli behandlet som en verdi NULL. Hvis satt til "Nei", vil alle inndata bli behandlet som de er uten noen konvertering.

En tom streng er en streng med lengde null («»). En verdi NULL vil normalt ikke være det samme som en tom streng. Setningen NULL brukes gjerne for å beskrive en verdi som ikke er angitt, en ukjent verdi, eller «ingen verdi er skrevet inn ennå».

Databasesystemer er forskjellige og håndterer NULL-verdier forskjellig. Slå opp i dokumentasjonen til databasen du bruker.

## Type listeinnhold

Angir dataene som skal fylle listene i liste og kombinasjonsbokser.

Alternativet «Verdiliste» fører til at alle oppføringene i feltet Listeoppføringer på fanen Generelt vises i kontrollelementet. I databaseskjemaer kan du bruke referanseverdier (se Referanser med verdilister).

Hvis innholdet i kontrollelementet hentes fra en database, kan du bruke de andre alternativene til å velge hvilken type datakilde som skal brukes. Du kan for eksempel velge om du vil bruke tabeller eller spørringer.