Konstruera formulär

Den viktigaste terminologin

Formulär

Ett fönster som tillhandahålls för att enkelt mata in och presentera data på datorskärmen.

Formulärets datakälla

Databastabell eller förfrågan som tillhandahåller data som visas i formuläret. Datakällan behövs, eftersom själva formulären bara är verktyg för att visa och mata in data, medan tabeller och förfrågningar är datakällor. Nya, tomma, formulär har ingen tilldelad datakälla, så de visar ingen data från databasen om du inte tilldelar en datakälla till dem.

Formulärfält

Direkt ekvivalent till en kolumn i en tabell eller förfrågan. Fält för att visa text och tal är de som oftast används. Att skriva in ett nytt värde eller ändra befintligt värde i ett sådant fält orsakar en ändring i den anslutna tabellen eller frågekolumnen (efter ändringen har accepterats).

Formulärkonstruktion

Aktiviteter du utför för att definiera utseendet och funktionen hos formuläret. För att göra det måste du tillhandahålla en datakälla, infoga formulärfält av diverse typer, och placera dem på lämpliga ställen.

Grafisk formulärkomponent

Formulärets element. De huvudsakliga typerna av grafiska komponenter är:

  • Grafiska komponenter som visar information, t.ex. en textruta eller en bildruta. Varje komponent av denna typ kan anslutas till en datakällas fält (en tabell eller frågekolumn). Därför kallas sådana grafiska komponenter för formulärfält.

  • Grafiska komponenter som kan utföra en viss angiven åtgärd, t.ex. en tryckknapp som kan stänga det aktuella formuläret. I andra program kallas komponenttypen ibland formulärstyrning, eftersom den kan utföra fördefinierade åtgärder för att styra databasprogrammets beteende.

  • Övriga grafiska komponenter för att berika formulärets utseende, t.ex. en "linjekomponent" som visuellt kan separera två områden i formuläret.

Omgivande grafisk komponent

En grafisk komponent som kan innehålla andra komponenter inne i sitt område. Till exempel är ramkomponenter och flikkomponenter omgivande komponenter. Själva formulärets yta är också en omgivande komponent. En kommandoknapp kan inte kallas en omgivande komponent, eftersom det inte är möjligt att infoga en komponent inne i den. I mer komplicerade fall kan omgivande komponenter infogas i en omgivande komponent, alltså är en hierarki möjlig.

Formulär eller tabeller

I kapitlet Mata in data i tabeller lärde du dig hur du matar in data direkt i tabeller genom deras databladsvy. Men i många fall är formulär bättre lämpade för datainmatning:

  • En tabell kan innehålla för många kolumner för att visa på skärmen. Ett formulär kan visa sådan data med användning av flera rader.

  • Ett formulär tillåter att datafälten delas upp visuellt i logiska grupper, och ökar på så sätt läsbarheten. Etiketter med ytterligare information kan infogas för att ge användare fler tips om hur formuläret ska användas, eller vad ett givet datafält betyder.

  • Kommandoknappar kan användas i formulär för ofta använda kommandon, så att användare kan använda formulär på liknande sätt som fristående program de känner till.

I datavyn är det lika enkelt att visa flerradiga textdatafält eller bilder som i formulär.

Arbeta med formulärkonstruktion

Som vid konstruktion av en tabell eller en förfrågan har du möjlighet att använda datavyn och konstruktionsvyn. Formulärkonstruktion utförs i konstruktionsvyn. Vi kallar ofta fönstret för formulärkonstruktion bara Formulärkonstruktion.

  1. För att skapa ett nytt tomt formulär, välj Formulär i verktygsraden. Som alternativ kan du också använda kommandot Skapa objekt: Formulär i kombinationsknappen på projektnavigeringens verktygsrad eller kommandot Skapa objekt: Formulär i den sammanhangsberoende menyn i projektnavigeringen.

  2. En ny ram visas, och du kan ändar formuärets storlek genom att flytta kanterna. Formuläret täcks av ett rutnät som förenklar noggrann placering av komponenterna.

Liksom för tabellkonstruktion, tillhandahåller formulärkonstruktion rutan Egenskapseditor. För att spara utrymme på skärmen har rutan tre flikar som hör ihop med formuläret som för närvarande är valt:

Fliken Egenskaper

Innehåller en lista med egenskaper för den grafiska komponent som för närvarande är markerad.

Fliken Datakälla

Innehåller egenskaper som specifikt har att göra med datakällan för den grafiska komponent som för närvarande är markerad, eller för själva formuläret.

Fliken Grafiska komponenter

Innehåller en hierarki av alla grafiska komponenter i formuläret. Listan förenklar uppslagning av komponenter med namn, och navigering mellan dem.

Information om namnet på den grafiska komponent som för närvarande är markerad visas på den första och andra fliken.

Ytterligare verktygsrader är också tillgängliga:

  • Verktygsraden Grafiska komponenter används för att infoga nya komponenter i formuläret. Välj Formulärfönstret för att visa det.

Använd fliken Grafiska komponenter

Fliken grafiska komponenter i rutan Egenskaper tillhandahåller en lista med formulärets komponenter och deras hierarki. Varje komponent visas inne i hierarkin tillsammans med andra komponenter på samma nivå (med samma överliggande omgivande komponent). Delkomponenter (inne i en omgivande komponent) visas med indragna namn.

Varje komponent visas med sitt namn och sin typ. Typen visas också med en ikon, samma som visas på verktygsraden som används när formuläret konstrueras.

Notera

  • Att ändra aktuell markering i listan orsakar lämplig markering i formuläret som konstrueras. Det möjliggör enklare uppslagning av komponenter enligt namn och enklare navigation. Det är till exempel möjligt att markera en komponent enligt namn, och därefter byta till fliken Egenskaper för att ändra komponentens egenskaper.

  • Genom att hålla nere tangenten Ctrl medan ett objekt i komponentlistan markeras, gör det möjligt att markera flera komponenter samtidigt. Att hålla nere Skift gör det möjligt att markera en hel lista med komponenter.

Att ge grafiska komponenter rimliga namn kan vara användbart, men krävs inte. Observera att den grafiska komponentens namn är en egenskap som inte är synlig för användaren av ett formulär. Användare ser bara den grafiska komponentens text, som tillhandahålls av egenskapen Text eller liknande.

Infoga grafiska komponenter - textfält

Nu skapar vi ett formulär som innehåller information om personer, dvs. ett formulär anslutet till tabellen Personer.

Om formuläret som konstrueras ska visa data som hämtas från databasen, måste du placera lämpliga fält på det. Använd knapparna på verktygsraden Grafiska komponenter för att göra det. Varje knapp motsvarar en enskild komponenttyp.

  1. Klicka på knappen Textruta på verktygsraden för Grafiska komponenter.

  2. Klicka på formulärets yta med vänster musknapp. En ny textruta placeras på punkten där du klickade. Innan du släpper knappen kan du dra musen för att ange önskad storlek på komponenten.

  3. Om det behövs, flytta den infogade komponenten genom att dra och släppa den på önskad plats. Du kan ändra storlek på komponenten efteråt genom att dra en av de små rutorna som syns nära dess hörn. Om du markerar en annan komponent eller formulärets yta, så försvinner rutorna.

  4. Klicka på verktygsradens knapp Textruta igen, och klicka på formulärets yta för att infoga ytterligare en grafisk komponent. Upprepa åtgärden igen tills du har ytterligare tre textrutor infogade i formuläret. För enkelhetens skull begränsar vi oss till fem datafält.

Notera

  • Det finns en sammanhangsberoende meny tillgänglig i formulärets konstruktionsläge, som aktiveras genom att klicka med höger musknapp på önskad komponent eller på formulärets yta. Menyn erbjuder kommandon som Klipp ut, Kopiera, Klistra in, Ta bort, med flera, mer komplicerade. Snabbtangenter är också tillgängliga för alternativen. Vissa alternativ är bara tillgängliga för vissa komponenttyper.

  • Alternativen Klipp ut, Kopiera och Klistra in gör det möjligt att flytta eller kopiera grafiska komponenter mellan formulär, eller till och med mellan separata databasprojekt.

  • Att hålla nere tangenten Ctrl medan du klickar på en komponent gör det möjligt att markera flera komponenter.

  • Istället för att använda alternativen Kopiera och Klistra in för att duplicera en komponent i samma formulär kan du hålla nere Ctrl-tangenten medan du flyttar komponenten. När musknappen släpps, flyttas inte komponenten som dras, utan kopieras till den nya platsen.

Tilldela datakällor

Fälten du infogade har ingen datakälla tilldelad ännu, så de kan inte visa information från databasen. För att tilldela en datakälla, använd fliken (Datakälla) i rutan Egenskapseditor.

Det absolut första steget är att ange formulärets datakälla, dvs. en plats där den visade datan hämtas. Som tidigare nämndes kommer du använda tabellen Personer som datakälla för det nya formuläret.

  1. Klicka på formulärets yta, eftersom du ska ändra dess egenskaper.

  2. Byt till fliken (Datakälla) och skriv in tabellnamnet personer i kombinationsrutan Formulärets datakälla. Du kan också välja namnet i kombinationsrutans lista.

Du har nu tilldelat formulärets datakälla. Nu måste du ange den grafiska komponentens datakälla.

  1. Klicka på den första textfältskomponenten längst upp i formuläret.

  2. Skriv in fältnamnet namn under egenskapsrutans flik (Datakälla) i kombinationsrutan Komponentens datakälla. Du kan också välja namnet i kombinationsrutans lista.

  3. Klicka på nästa textfältkomponent och skriv in efternamn som datakälla.

  4. Skriv in datakällor för textfälten gatunamn, gatunummer och postort på liknande sätt.

Nu kan du spara formulärets konstruktion (det är inte nödvändigt för att testa formulärets användning). För att spara, klicka på knappen Spara i verktygsraden. När du sparar frågas du efter formulärets namn. Skriv in Personer som rubrik, och klicka på knappen Ok. Formulärets namn fylls i automatiskt.

Detta är rätt ögonblick att prova formuläret. Klicka på verktygsradens knapp Data. Om du inte gjorde något misstag när du matade in datakällorna, ska du se formulärets fält ifyllda med data från tabellen Personer.

Notera

  • Om du vill ta bort tilldelning av datakälla för en formulärkomponent kan du använda knappen i rutan Komponentens datakälla.

  • Använd knappen (Gå till det markerade formulärets datakälla) för att välja lämplig tabell eller förfrågan under Projektnavigering, så att du snabbt kan öppna en tabell eller förfrågan som är formulärets datakälla.

Infoga textetiketter

För att göra det enklare för formulärets användare att identifiera betydelsen hos varje fältkomponent bör de ha tillhörande textetiketter med lämpliga rubriker. För att skapa textetiketter används komponenten Etikett.

Infoga tre textetikettkomponenter i formuläret, och placera dem till vänster om textfälten (eller till höger, om ditt operativsystem använder höger-till-vänster-layout). När en ny etikett infogas kommer en textmarkör visas där du kan skriva in en titel. Skriv in i ordning: Förnamn, Efternamn, Gatuadress, Gatunummer och Postort. Infoga också en etikett till som visar formulärets namn, dvs. Personer. Förstora etikettens storlek, och öka teckensnittsstorleken via Teckensnitt under fliken Egenskaper.

Åtgärder

En Åtgärd är en enstaka isolerad aktivitet i programmet, tillgänglig för användaren att utföra. Den kan också utföras automatiskt som en reaktion på en given händelse (t.ex. efter att ett formulär har öppnats).

Tilldela åtgärder till formulärknappar

Många åtgärder kan tilldelas till formulärknappar. Den tilldelade åtgärden tförs när knappen klickas.

För att tilldela en åtgärd:

  1. Byt till formulärets konstruktionsvy, om du inte redan har gjort det.

  2. Välj den befintliga knappkomponenten genom att klicka på den, eller lägg till en ny knappkomponent i formuläret. Om du infogade en ny knapp, skriv in dess titel och tryck på returtangenten.

  3. Klicka på knappkomponenten med höger musknapp för att visa den sammanhangsberoende menyn.

  4. Välj alternativet Tilldela åtgärd... i den sammanhangsberoende menyn.

  5. Dialogfönstret Tilldela åtgärd till knapp visas med en lista över tillgängliga åtgärder. En av åtgärderna är markerad om komponenten redan har en tilldelad åtgärd. Annars har listanÅtgärdskategori värdet Ingen åtgärd vald.

  6. Välj alternativet Programåtgärder i listanÅtgärdskategori. Tillgängliga åtgärder för hela programmet visas.

  7. Välj en av åtgärderna i listan (t.ex. Ta bort markerat objekt).

Efter att ha bytt till formulärets datavy kan du testa om åtgärden fungerar.

Notera

  • För att ta bort en tilldelad åtgärd, välj Ingen åtgärd i listan Åtgärdskategori i dialogfönstret Tilldela åtgärd till knapp.

  • Åtgärder fungerar bara i formulärets datavy. Alla tänkbara tilldelningar av åtgärder är inte rimliga. Åtgärden Teckensnitt... är till exempel tillgänglig i datavyn, men bara om du har markerat en komponent i konstruktionsvyn. Om du ändrar teckeninställningarna så utförs ändringarna på texten i den markerade komponenten.

Layout av grafiska komponenter

I de flesta fall ska formulärets grafiska komponenter vara bekvämt arrangerade och justerade. Att placera, justera och ändra storlek på komponenter för hand är inte lätt och parametrarna justeras inte om användaren ändras storlek på formuläret. I själva verket är situationen ännu värre, eftersom du inte kan anta att ett givet formulär kräver en given storlek, eftersom användare har olika teckenstorlekar och upplösningar på bildskärmen.

Att använda ett specialverktyg som kallas komponentlayout kan hjälpa till att automatiskt skapa en layout för formulärkomponenter. Komponentlayout är åtgärden att gruppera två eller flera komponenter så att de är bra placerade och har lämpliga storlekar.

Att använda en layout i ett formulär förbättrar justering av position. Dessutom används dess utrymme på ett bättre sätt. Textfält är närmare varandra, och mellanrummet är konstant.

Storlekspolicy för komponenter i en layout

Istället för att ange en fast storlek på komponenter kan du välja en komponents storlekspolicy i Kexi bland flera tillgängliga. En storlekspolicy är en flexibel strategi för att styra hur en komponent sträcks ut (eller krymper ihop) beroende på andra grannkomponenter och tillgängligt utrymme i formuläret.

Efter att ha lagt till grafiska komponenter på en rad, ändras storleken så att deras synliga text får plats.

Det finns inställningar av storlekspolicy för varje komponent som infogas i formuläret i egenskapseditorn. Inställningarna presenteras som en grupp egenskaper som kallas Storlekspolicy.

Denna grupp av egenskaper innehåller:

Horisontell storlekspolicy

definierar den grafiska komponentens horisontella storlek,

Vertikal storlekspolicy

definierar den grafiska komponentens vertikala storlek,

Horisontell sträckning

definierar aktivitetsstyrkan hos Horisontell storlekspolicy,

Vertikal sträckning

definierar aktivitetsstyrkan hos Vertikal storlekspolicy

Värden för en storlekspolicy

Följande värden är tillgängliga i kombinationsrutorna för egenskaperna Horisontell storlekspolicy och Vertikal storlekspolicy som visas under Egenskapseditor:

Fast

värdet betyder att komponentens storlek inte automatiskt kan ändras. den ska behålla den konstanta storlek som definierades när den konstruerades (bredd och höjd).

Minimum

värdet betyder att komponentens ursprungliga storlek är inställd till det minsta tillåtna värdet, som är tillräckligt och det finns inget behov av att expandera komponenten, men den kan expanderas om det behövs. Denna policytyp kan användas för att tvinga komponenten att expanderas till hela bredden eller höjden, särskilt om du anger ett sträckningsvärde större än 0.

Maximum

värdet betyder att komponentens ursprungliga storlek är inställd till det största tillåtna värdet, och det kan minskas om det behövs utan att förstöra komponentens användbarhet och läsbarhet om andra komponenter behöver större utrymme.

Föredragen

värdet betyder att komponentens ursprungliga storlek är den bästa och föredras. Komponenten kan dock krympas eller expanderas och den förblir läsbar.

Expanderande

värdet betyder att komponentens ursprungliga storlek är rimlig men komponenten kan också krympas. Den kan också expanderas för att uppta så mycket utrymme som möjligt.

Minimum expanderande

värdet betyder att komponentens ursprungliga storlek är tillåten. Den kan expanderas för att uppta så mycket utrymme som möjligt.

Ignorerad

värdet betyder att komponentens ursprungliga storlek ignoreras. Komponenten kan expanderas för att uppta så mycket utrymme som möjligt, men andra komponenter tillåter oftast inte det.

Varje komponenttyp har en förvald storlekspolicy. Till exempel har knappkomponenter förvald storlekspolicy inställd till Minimum ( i båda riktningar), medan textfältkomponenter har den vertikala storlekspolicyn inställd till Fast.

Oftast använd storlekspolicy är Föredragen, Minimum och Maximum.

Vertikal och horisontell sträckning

Egenskaperna Vertikal sträckning och Horisontell sträckning accepterar heltalsvärden större än eller lika med 0. Egenskaperna tillåter finjustering av en storlekspolicy. Förvalt värde för egenskaperna är 0. Ett större värde på sträckningen betyder att komponenten expanderas mer än komponenter som har ett lägre sträckningsvärde inställt.