Innehåll

# 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...

Open context menu of a selected form element - choose Form Properties - Data tab.

Open Form Design toolbar, click Form Properties icon - Data tab.

## Analysera SQL-kommando

Specifies whether the SQL statement is to be analyzed by LibreOffice. If set to Yes, you can click the ... button next to the Content list box. This will open a window where you can graphically create a database query. When you close that window, the SQL statement for the created query will be inserted in the Content list box.

## Cykel

Determines how the navigation should be done using the tab key. Using the tab key, you can move forward in the form. If you simultaneously press the Shift key, the navigation will follow the opposite direction. If you reach the last (or the first) field and press the tab key again, it can have various effects. Define the key control with the following options:

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

Defines the data source to which the form should refer. If you click the ... button, you call the Open dialog, where you can choose a data source.

## Filter

Enter the required conditions for filtering the data in the form. The filter specifications follow SQL rules without using the WHERE clause. For example, if you want to display all records with the "Mike" forename, type into the data field: Forename = 'Mike'. You can also combine conditions: Forename = 'Mike' OR Forename = 'Peter'. All records matching either of these two conditions will be displayed.

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

## Innehåll

Determines the content to be used for the form. The content can be an existing table or a query (previously created in the database), or it can be defined by an SQL-statement. Before you enter a content you have to define the exact type in Content type.

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

Determines if the form only allows the addition of new data (Yes) or if it allows other properties as well (No).

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

## Lägg till data

Determines if data can be added.

## Länka från

If you create a subform, enter the data field of the parent form responsible for the synchronization between parent and subform. To enter multiple values, press Shift + Enter after each input line.

The subform is based on an SQL query; more specifically, on a Parameter Query. If a field name is entered in the Link master fields box, the data contained in that field in the main form is read to a variable that you must enter in Link slave fields. In an appropriate SQL statement, this variable is compared to the table data that the subform refers to. Alternatively, you can enter the column name in the Link master fields box.

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

If you create a subform, enter the variable where possible values from the parent form field can be stored. If a subform is based on a query, enter the variable that you defined in the query. If you create a form using an SQL statement entered in the Data source field, enter the variable you used in the statement. You can choose any variable name. If you want to enter multiple values, press Shift + Enter.

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

Specifies whether the navigation functions in the lower form bar can be used.

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

Specifies the conditions to sort the data in the form. The specification of the sorting conditions follows SQL rules without the use of the ORDER BY clause. For example, if you want all records of a database to be sorted in one field in an ascending order and in another field in a descending order, enter Forename ASC, Name DESC (presuming Forename and Name are the names of the data fields).

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

Determines if the data can be deleted.

## 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

Determines if the data can be modified.

## 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.

If you require a form that can refer to the data in a table or query and can additionally display data from another table, you should create a subform. For example, this subform can be a text box that displays the data of another database table.

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.