Data

Fanen Data styrer skjemaegenskapene som refererer til databasen som er lenket til skjemaet.

Velger datakilden som skjemaet er basert pÄ, eller velger om brukeren kan redigere dataene. Bortsett fra funksjoner for sortering og filtrering, finner du ogsÄ alle egenskapene som er nÞdvendig for Ä lage et underskjema.

For Ă„ bruke denne funksjonen 


Åpne sprettoppmenyen til et valgt skjemaelement, og velg fanen Skjema → Data

Åpne en av verktĂžylinjene Kontrollelementer for skjemaer eller Skjemautforming, trykk pĂ„ Skjema og velg fanen Data


Analyser SQL-kommando

Velger om SQL-uttrykket skal analyseres av LibreOffice. Hvis du velger «Ja», kan du trykke pĂ„ 
-knappen ved listeboksen Innhold. Da Ă„pnes et vindu der du grafisk kan lage en databasespĂžrring. NĂ„r du lukker dette vinduet, blir SQL-uttrykket for spĂžrringa du har laget, satt inn i listeboksen Innhold.

Datakilde

Angi hvilken datakilde skjemaet skal vise til. Hvis du trykker 
-knappen, Ă„pner du dialogvinduet Åpne, der du kan velge en datakilde.

Filter

Skriv inn vilkÄrene for filtrering av dataene i skjemaet. Filterspesifikasjonen fÞlger SQL-regler uten bruk av WHERE-uttrykket. Hvis du for eksempel vil vise alle poster med fornavnet «Ivar», skriver du «Fornavn = 'Ivar'» i datafeltet. Du kan ogsÄ sette sammen flere vilkÄr: «Fornavn = 'Ivar' OR Fornavn = 'Mikkel'». Da vises alle poster som passer til ett av disse vilkÄrene.

Filterfunksjonen er tilgjengelig i brukermodus via knappene Autofilter og Standardfilter pÄ verktÞylinja Skjemanavigasjon.

Innhold

Angi innholdet som skal brukes i skjemaet. Innholdet kan vÊre en eksisterende tabell eller spÞrring (som er laget i databasen tidligere), eller noe som er angitt med en SQL-setning. FÞr du setter inn innholdet mÄ du oppgi nÞyaktig type i Innholdstype.

Hvis du har valgt enten «Tabell» eller «SpÞrring» som Innholdstype, viser denne lista alle tabellene og spÞrringene som er satt opp i den valgte databasen.

Innholdstype

Angi om datakilden skal vĂŠre en databasetabell eller en spĂžrring, eller om skjemaet skal bli laget ut fra en SQL-setning.

Hvis du velger «Tabell» eller «SpÞrring», vil skjemaet vise til tabellen eller spÞrringa du har valgt under Innhold. Hvis du vil lage en ny spÞrring eller et underskjema, mÄ du velge «SQL-kommando». Du kan da skrive inn uttrykket for SQL-spÞrringa eller underskjemaet direkte i Listeinnhold pÄ fanen «Data» i egenskapene til kontrollelementet.

Legg bare til data

Angi om skjemaet bare skal tillate at nye data legges til («Ja») eller om det ogsÄ skal tillate andre egenskaper («Nei»).

Merknadsikon

Hvis Legg bare til data er sett til «Ja», er det ikke mulig Ä endre eller slette data.


Lenk sammen hovedfeltene

Hvis du lager et underskjema, mÄ du skrive inn hvilke datafelt i hovedskjemaet som er ansvarlig for synkroniseringa mellom hovedskjemaet og underskjemaet. For Ä skrive inn flere verdier mÄ du trykke «Shift + Enter» etter hver linje.

Underskjemaet er basert pÄ en SQL-spÞrring, nÊrmere bestemt en spÞrring av typen parameterspÞrring. Hvis et feltnavn skrives inn i Lenk sammen hovedfeltene, blir dataene fra feltet lagt inn i en variabel som du mÄ skrive inn i Lenk sammen slavefeltene. I et SQL-uttrykk av riktig type blir denne variabelen sammenliknet med tabelldataene som underskjemaet viser til. Du kan ogsÄ skrive inn kolonnenavnet i Lenk sammen hovedfeltene.

Studer det fĂžlgende eksemplet:

Databasetabellen som skjemaet er basert pÄ er en kundedatabase («Kunde») der hver kunde har et unikt nummer i datafeltet «KundeID». Ordrene til kundene ligger i en annen tabell. Du vil nÄ se ordrene til hver kunde etter Ä ha skrevet dem inn i skjemaet. Til dette kan du bruke et underskjema. Under Lenk sammen hovedfeltene skriv du inn det datafeltet fra kundedatabasen som identifiserer kunden, altsÄ «KundeID». Under Lenk sammen slavefeltene skriv du inn navnet pÄ en variabel som skal motta data fra «KundeID», for eksempel «x».

Underskjemaet bĂžr vise data fra ordretabellen («Ordre») for hver kunde-ID (KundeID → x). Dette er bare mulig dersom hver ordre er unikt tilordna Ă©n kunde i ordretabellen. Du kan ogsĂ„ bruke et annet felt kalt «KundeID», men for Ă„ hindre at det blir forvekslet med det samme feltet fra hovedskjemaet, kaller vi det «Kundenummer».

NÄ sammenlikner du Kundenummer i «Ordre»-tabellen med KundeID fra «Kunder»-tabellen. Det kan du for eksempel gjÞre ved hjelp av variabelen x og det fÞlgende SQL-uttrykket:

SELECT * FROM Ordre WHERE Kundenummer =: x (Dersom du vil at underskjemaet skal vise alle datene fra ordretabellen.)

eller:

SELECT Element FROM Ordre WHERE Kundenummer =: x (Dersom du vil at underskjemaet fra ordretabellen bare skal vise datene som ligger i feltet «Element».)

SQL-uttrykket kan enten skrives inn i feltet Datakilde eller lages som en parameterspĂžrring du kan bruke til Ă„ lage underskjemaet.

Lenk sammen slavefeltene

Hvis du lager et underskjema mÄ du angi variabelen som mulige verdier fra hovedskjemaet skal lagres i. Dersom et underskjema er basert pÄ en spÞrring, skal du skrive inn variabelen du oppga i spÞrringa. Hvis du vil opprette et skjema ved hjelp av en SQL-setning skrivet inn i feltet Datakilde, skriver du inn variabelen du brukte i setninga. Du kan velge variabelnavn fritt. Trykk «Shift + Enter» dersom du vil skrive inn flere verdier.

Dersom du for eksempel har valgt databasefeltet «KundeID» som foreldrefelt under Lenk sammen hovedfeltene, kan du velge navnet pÄ variabelen der verdiene fra «KundeID» skal lagres under Lenk sammen slavefeltene. Dersom du nÄ bruker denne variabelen i et SQL-uttrykk i feltet Datakilde, blir de relevante verdiene vist i underskjemaet.

Navigasjonslinje

Angi om navigeringsfunksjonene pÄ den nedre skjemalinja skal kunne brukes.

Alternativet «Overordnet skjema» brukes til delskjemaer. Hvis du velger dette alternativet for et delskjema, kan du bruke postene i hovedskjemaet til Ä navigere hvis markÞren stÄr i delskjemaet. Et delskjema er lenket til det overordnede skjemaet i et 1:1-forhold, slik at navigering alltid skjer i det overordnede skjemaet.

Sorter

Angi vilkÄrene for sortering av dataene i skjemaet. Sorteringa fÞlger SQL-regler, uten Ä bruke «ORDER BY»-vilkÄret. Hvis du for eksempel vil at alle poster i en database skal sorteres i et felt i stiende rekkefÞlge og i et annet felt i synkende rekkefÞlge, skriver du inn «Fornavn ASC, Navn DESC» (dersom navnene pÄ datafeltene er navn og fornavn).

Noen av knappene pÄ verktÞylinja Skjemanavigasjon kan brukes til sortering i brukermodus: Sorter stigende, Sorter synkende, Sorter.

Syklus

Velg hvordan tabulatortasten skal kunne brukes til navigasjon. Du kan flytte framover i skjemaet ved hjelp av tabulatortasten. Hvis du samtidig holder nede «Shift», gÄr du bakover. Om du nÄr siste (eller fÞrste) felt og trykker tabulatortasten igjen, kan ulike ting skje. Du har disse alternativene vedrÞrende tastekontrollelementet:

Alternativ

Betydning

Standard

Denne innstillinga lager automatisk en syklus som fÞlger en databaselenke: Hvis skjemaet inneholder en databaselenke, vil tabulatortasten som standard skifte til neste eller forrige post nÄr du gÄr ut av det siste feltet (se «Alle poster»). Hvis skjemaet ikke har noen databaselenke, blir det neste eller forrige skjemaet vist (se «Denne siden»).

Alle poster

Dette alternativet gjelder bare for databaseskjemaer, og brukes til Ä navigere gjennom alle postene. Hvis du gÄr ut av det siste feltet i et skjema med tabulatortasten, endres den gjeldende posten.

Denne posten

Dette alternativet gjelder bare for databaseskjemaer, og brukes til Ä navigere innenfor den gjeldende posten. Hvis du gÄr ut av det siste feltet i et skjema med tabulatortasten, endres den gjeldende posten.

Denne siden

NÄr du gÄr ut av det siste feltet i et skjema, gÄr markÞren til det fÞrste feltet i det neste skjemaet. Dette alternativet er sÊrlig relevant for HTML-skjemaer, fordi dette er standard virkemÄte i HTML-skjemaer.


Tillat endringer

Velg om dataene skal kunne endres.

Tillat slettinger

Velg om dataene skal kunne slettes.

Tillat tillegg

Velg om dataene skal kunne legges til.

Hva er et underskjema?

Skjemaer blir lagd ut fra databasetabeller eller databasespÞrringer. De viser informasjonen pÄ en oversiktlig mÄte, og du kan skrive inn eller endre data i skjemaet.

Hvis du trenger et skjema som bÄde kan vise til dataene i en tabell eller en spÞrring og i tillegg vise data fra en annen tabell, bÞr du lage et underskjema. Dette underskjemaet kan for eksempel vÊre et tekstfelt som viser data fra en annen databasetabell.

Et underskjema er en tilleggskomponent i hovedskjemaet. Av og til blir hovedskjemaet kalt «overordnet skjema» eller «foreldreskjema». Du fÄr bruk for underskjemaer sÄ snart du vil ha tilgang til mer enn én tabell i et skjema. Hver ekstra tabell krever et eget underskjema.

NÄr du har laget et skjema, kan du gjÞre det om til et underskjema. Du kan gjÞre dette ved Ä gÄ til utformingsmodus og Äpne Skjemastruktur. Der drar du et skjema (som skal bli et underskjema) over til et annet skjema (som skal bli hovedskjemaet).

De som bruker dokumentet, kan ikke se at skjemaet har underskjemaer. Det eneste brukeren ser, er et dokument der data kan skrives inn eller eksisterende data vises.

Velg hovedfeltet som skal lenkes fra datafeltene i hovedskjemaet. I underskjemaet kan du sette slavefeltet som et felt som skal tilpasses innholdet i hovedfeltet.

NÄr brukeren blar gjennom dataene, viser skjemaet alltid den gjeldende dataposten. Dersom skjemaet inneholder underskjema, blir innholdet i de vist etter en kort forsinkelse pÄ rundt 200 ms. Denne forsinkelsen gjÞr at du raskt kan bla gjennom datapostene i hovedskjemaet. SÄ lenge du blar videre til den neste posten fÞr tidsgrensa, slipper systemet Ä hente og vise fram data fra underskjemaet.