Module
Contents
Index 🔎︎

# Data

På fliken Data definieras de formuläregenskaper som gäller den databas som är länkad till formuläret.

Definierar den datakälla som formuläret bygger på, eller anger om data kan redigeras av användaren. Förutom sorterings- och filtreringsfunktioner finns också de egenskaper som krävs för att skapa ett underformulär.

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

Snabbmenyn i ett markerat formulärelement Formulär... - fliken Data

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

## Analysera SQL-kommando

Anger om SQL-satsen ska analyseras av LibreOffice. Om värdet är inställt på Ja kan du klicka på knappen ... bredvid listrutan Innehåll. Då öppnas ett fönster där du kan skapa en databassökning grafiskt. När du stänger det fönstret infogas SQL-satsen för den skapade sökningen i listrutan Innehåll.

## Cykel

Anger hur navigeringen med Tabb-tangenten fungerar. Du kan använda Tabb-tangenten för gå framåt i formuläret. Om du samtidigt trycker på Skift-tangenten går du i motsatt riktning. Om du har nått det sista (eller första) fältet och trycker på Tabb-tangenten en gång till, kan en av flera saker inträffa. Du kan välja mellan följande alternativ:

Alternativ | Innebörd
Standard | Med denna inställning definieras automatiskt en cykel, som orienterar sig efter en befintlig databasanslutning: Om det finns en databasanslutning i formuläret, går Du, om Du lämnar det sista fältet med hjälp av tabbtangenten, som standard till nästa/föregående datapost (se Alla dataposter). Utan databasanslutning går Du till nästa/föregående formulär (se Aktuell sida).
Alla dataposter | Det här alternativet gäller endast databasformulär och används för att navigera genom alla poster. Om du använder Tab-tangenten för att avsluta ett fält och gå vidare till nästa, ändras den aktuella posten.
Aktuell datapost | Det här alternativet gäller endast databasformulär och används för att navigera inom den aktuella posten. Om du använder Tab-tangenten för att avsluta ett fält och gå vidare till nästa, ändras den aktuella posten.
Aktuell sida | När markören lämnar det sista fältet i ett formulär, fortsätter den till det första fältet i nästa formulär. Detta alternativ är standard för HTML-formulär, och därför är inställningen särskilt relevant för HTML-formulär.

## Datakälla

Anger vilken datakälla som formuläret ska referera till. Om du klickar på knappen ... öppnas dialogrutan Öppna där du kan välja en datakälla.

## Filter

Ange de villkor som filtreringen ska använda. Filtersyntaxen följer SQL-standarden (utom uttrycket WHERE). Om du vill exempel vill visa alla poster där fältet "Förnamn" är "Maria" skriver du i datafältet: Förnamn = 'Maria'. Du kan också kombinera villkor: Förnamn = 'Maria' OR Förnamn = 'Peter'. Alla poster som uppfyller något av villkoren kommer att visas.

Filterfunktionerna är tillgängliga i användarläge via ikonerna Autofilter och Standardfilter på Formulärraden.

## Innehåll

Anger det innehåll som används för formuläret. Innehållet kan vara en befintlig tabell eller en sökning (som skapats i databasen) eller definieras via ett SQL-kommando. Innan du anger innehållet måste du ange den exakta typen i Typ av innehåll.

Om du har markerat "Tabell" eller "Sökning" i Typ av innehåll visar rutan alla tabeller och sökningar som finns i den aktuella databasen.

## Lägg endast till data

Avgör om bara nya data kan läggas till i formuläret (Ja) eller om andra egenskaper också är tillåtna (Nej).

Om alternativet Lägg endast till data är "Ja" går det inte att ändra eller radera information.

## Lägg till data

Anger om användaren kan lägga till data.

## Länka från

Om du skapar ett underordnat formulär anger du datafältet för det överordnade formuläret som ansvarar för synkronisering mellan de två formulären. Om du vill skriva in flera värden trycker du ned Skift+Retur efter varje inmatningsrad.

Det underordnade formuläret bygger på en SQL-sökning, eller mer specifikt på en parametersökning. Om ett fältnamn anges i rutan Länka från läses de data som finns i det fältet i huvudformuläret till en variabel som du måste ange i Länka till. I ett korrekt SQL-uttryck jämförs denna variabel med de tabelldata som det underordnade formuläret hänvisar till. Du kan också ange kolumnnamnet i rutan Länka från.

Här följer ett exempel.

Den databastabell som ligger till grund för formuläret kan exempelvis vara en kunddatabas ("Kunder"), där Du ger varje kund ett entydigt nummer som beteckning, nämligen ett datafält kallat "Kund_ID". Beställningarna från en kund organiserar Du i en annan databastabell. Nu vill Du också att beställningarna för varje kund som Du skriver in i formuläret ska visas. Då skapar Du underformuläret och skriver vid Länka från in datafältet från kunddatabasen, med hjälp av vilket kunden entydigt kan identifieras, det vill säga "Kund_ID" (utan citattecken). Vid Länka till skriver Du in namnet på en variabel, som ska ta med data i fältet Kund_ID, exempelvis "x".

Det underordnade formuläret ska visa motsvarande data från ordertabellen ("Beställningar") för varje kund-ID (Kund-ID -> x). Detta är endast möjligt om varje order är kopplad till en unik kund i ordertabellen. Ett annat sätt är att använda ett annat fält, t.ex. Kund_ID. För att inte blanda ihop detta fält med samma fält i huvudformuläret har fältet namnet Kundnummer.

Jämför nu "Kund_Nr" i tabellen "Beställningar" med "Kund_ID" i tabellen "Kunder", till exempel med variabeln x i följande SQL-uttryck:

SELECT * FROM Beställningar WHERE Kund_Nr =: x (om underformuläret ska visa samtliga data från beställningstabellen)

eller:

SELECT Artikel FROM Beställningar WHERE Kund_Nr =: x (om underformuläret från beställningstabellen bara ska visa data från fältet "Artikel")

Du kan antingen ange SQL-satsen i fältet Datakälla eller skapa en motsvarande parametersökning, med vars hjälp du skapar ett underordnat formulär.

## Länka till

Om du skapar ett underformulär anger du den variabel där eventuella positiva värden från det överordnade formulärfältet ska lagras. Om ett underformulär bygger på en sökning, anger du den variabel som du definierat i sökningen. Om du skapar ett formulär med ett SQL-uttryck i fältet Datakälla anger du den variabel du använde i uttrycket. Du kan välja ett valfritt variabelnamn. Om du vill ange flera värden trycker du på Skift+Retur.

Om du vid Länka från angett exempelvis databasfältet "Kund_ID" som överordnat fält, anger du vid Länka till namnet på den variabel, där värdena från databasfältet "Kund_ID" ska läsas in. Om du nu med hjälp av denna variabel anger en SQL-sats i fältet Datakälla, visas motsvarande värden i det underordnade formuläret.

## Navigationslist

Anger om navigeringsfunktionerna längst ned i formuläret kan användas.

Alternativet "Överordnat formulär" används för underordnade formulär. Om du väljer det här alternativet för ett underordnat formulär kan du navigera med hjälp av posterna i huvudformuläret om markören är placerad i det underordnade formuläret. Ett underordnat formulär är länkat till det överordnade formuläret genom ett 1:1-förhållande och därför utförs alltid navigeringen i det överordnade formuläret.

## Sortering

Anger sorteringsvillkor för informationen i formuläret. Syntaxen för sorteringsvillkor följer SQL-standarden (utom uttrycket ORDER BY). Om du till exempel vill sortera alla posterna i en databas efter ett fält i stigande ordning, och sedan efter ett annat fält i fallande ordning, skriver du: Förnamn ASC, Namn DESC (om fältnamnen är Förnamn resp. Namn).

Du kan också använda följande ikoner på Formulärraden för att sortera i användarläge: Sortera stigande, Sortera fallande och Sortera.

## Tillåt borttagningar

Anger om användaren kan ta bort data.

## Typ av datakälla

Definierar om datakällan är en befintlig databastabell eller sökning, eller om formuläret ska bygga på ett SQL-kommando.

Om du väljer "Tabell" eller "Sökning" refererar formuläret till tabellen eller sökningen som du anger under Innehåll. Om du vill skapa en ny sökning eller ett underordnat formulär, måste du välja alternativet "SQL". Du kan sedan skriva uttrycket för SQL-sökningen eller det underordnade formuläret direkt i rutan Listinnehåll på fliken Data för kontrollegenskaperna.

## Ändra data

Anger om användaren kan ändra data.

## Vad är ett underordnat formulär?

Formulär skapas utifrån en databastabell eller en databassökning. De visar data i ett optiskt bearbetat format och kan användas för inmatning av nya data. De kan också användas för redigering av befintliga data, vilka finns sparade i den databastabell eller -sökning som ligger till grund för formuläret.

Om du vill skapa ett formulär som refererar till data i en tabell eller en sökning, och som dessutom visar information från en annan tabell, skapar du ett underordnat formulär. Det underordnade formuläret kan till exempel vara en textruta som visar data från en annan databastabell.

Ett underordnat formulär är en komponent i huvudformuläret. Huvudformuläret kan kallas det "överordnade" formuläret. Du måste ha ett underordnat formulär om du vill kunna komma åt mer än en tabell från ett formulär. Varje extra tabell måste ha ett motsvarande underordnat formulär.

När ett formulär har skapats, kan det ändras till ett underordnat formulär. Det gör du genom att aktivera designläget och sedan öppna fönstret Formulärnavigator. I det här fönstret drar du ett formulär (som sedan blir ett underordnat formulär) till ett annat formulär (som blir huvudformuläret).

Användaren av dokumentet ser inte att formuläret innehåller underordnade formulär. Användaren ser bara ett dokument där data kan anges och befintliga data visas.

Ange "Länka från" för datafälten i huvudformuläret. I det underordnade formuläret kan "Länka till" anges som ett fält som ska matchas mot innehållet i Länka från.

När användaren flyttar genom data visar formuläret alltid den aktuella dataposten. Om det finns definierade underordnade formulär, kommer innehållet i dessa att visas med en kort fördröjning på ungefär 200 ms. Tack vare den här fördröjningen kan du snabbt bläddra igenom dataposterna i huvudformuläret. Om du flyttar till nästa huvuddatapost inom denna tid, går det inte att hämta och visa data i det underordnade formuläret.