Formulieren ontwerpen

Belangrijkste termen

Formulier

Een venster waarin u op een gemakkelijke manier gegevens kunt invoeren en weergeven.

Gegevensbron van het formulier

Databasetabel of query die de gegevens levert die in het formulier getoond worden. De gegevensbron is nodig omdat formulieren slechts hulpmiddelen zijn om de gegevens te tonen of in te vullen, terwijl tabellen en query's de bron van de gegevens zijn. Aan nieuwe, lege formulieren is nog geen gegevensbron toegewezen, daarom tonen ze de gegevens uit de database pas als u er een gegevensbron aan toewijst.

Formulierveld

Het equivalent van een kolom in een tabel of query. Velden voor tekst en getallen worden het vaakst gebruikt. Wanneer u een nieuwe waarde invult of de bestaande waarde wijzigt, wordt de ermee verbonden kolom in een tabel of query ook gewijzigd (nadat de wijziging geaccepteerd is).

Formulierontwerp

Taken die u uitvoert om het uiterlijk en de functies van het formulier te definiëren. Hiervoor moet u een gegevensbron toewijzen, verscheidene typen formuliervelden invoegen en deze op de gewenste locatie plaatsen.

Formulierwidget

Een element op een formulier. De belangrijkste widgettypen zijn:

  • Widgets die informatie tonen, bijv. een tekstvak of een afbeeldingsvak. Elke widget van dit type kan verbonden worden met een veld in een gegevensbron (een tabel of een query-kolom). Daarom worden zulke widgets ook wel kortweg formuliervelden genoemd.

  • Widgets die een gespecificeerde actie kunnen uitvoeren, bijv. een knop waarmee het huidige formulier gesloten kan worden. In andere toepassingen heet dit type widget soms formulierbesturing omdat het een vooraf gedefinieerde actie uitvoert die het gedrag van de databasetoepassing bestuurt.

  • Andere widgets die het uiterlijk van een formulier verfraaien, bijv. een “lijnwidget” als scheiding tussen twee gebieden op een formulier.

Containerwidget

Een widget waarin andere widgets geplaatst kunnen worden, bijvoorbeeld frame-widget en tabbladwidget zijn containers. Het oppervlak van een formulier is ook een container. Een opdrachtknop kan niet als container dienst doen omdat het niet mogelijk is om er een ander widget in te plaatsen. Containerwidgets kunnen genest (in andere containerwidgets geplaatst) worden, dit kan nuttig zijn voor ingewikkelde formulieren.

Formulieren contra tabellen

In hoofdstuk Gegevens in tabellen invoeren wordt beschreven hoe u gegevens direct in tabellen kunt invullen. In veel gevallen zijn formulieren geschikter om gegevens in te voeren:

  • Een tabel kan meer kolommen bevatten dan dat er op het scherm passen. Een formulier kan zulke gegevens tonen in de vorm van meerdere regels.

  • Op een formulier kunt u gegevensvelden in logische groepen splitsen zodat ze beter leesbaar worden. U kunt labels met extra informatie invoegen om de gebruikers tips te geven hoe ze het formulier moeten gebruiken of labels met informatie over de betekenis van de gegevensvelden.

  • Voor algemene commando's kunnen knoppen op formulieren gebruikt worden, zodat gebruikers de formulieren op een zelfde manier als een losstaande toepassing waar ze mee bekend zijn kunnen gebruiken

Tekstvelden met meerdere regels of afbeeldingen kunnen in de gegevensweergave net zo gemakkelijk weergegeven worden als op formulieren.

Werken met formulierontwerp

Net als bij het ontwerpen van een tabel of een query kunt u zowel de Gegevensweergave als de Ontwerpweergave gebruiken. Formulieren worden in de Ontwerpweergave ontworpen. Vaak noemen we het venster waarin de formulieren ontworpen worden Formulierontwerper.

  1. Om een nieuw, leeg formulier te creëren kiest u Formulier in de werkbalk. U kunt ook het commando Object aanmaken: Formulier uit de keuzelijstknop op de taakbalk van de Projectnavigator gebruiken of Object aanmaken: Formulier in het contextmenu van de Projectnavigator kiezen.

  2. Er verschijnt een nieuw frame, u kunt de grootte wijzigen door de randen te verslepen. Over het formulier is een raster gelegd, zodat de widgets gemakkelijker op de juiste plaats gezet kunnen worden.

Het venster van Formulierontwerp heeft, net als tabelontwerp, een paneel Eigenschappenbewerker. Om ruimte te besparen in het paneel zijn er drie tabbladen met eigenschappen die gerelateerd zijn aan het geselecteerde formulier:

Het tabblad Eigenschappen

Bevat een lijst met eigenschappen van het geselecteerde widget.

Het tabblad Gegevensbron

Bevat eigenschappen die specifiek verband houden met de gegevensbron van het nu geselecteerde widget of van het formulier zelf.

Het tabblad Widgets

Bevat een hiërarchische lijst van alle widgets op het formulier. Met behulp van deze lijst kunt u gemakkelijk widgets op naam zoeken en direct het juiste widget vinden.

De informatie over de naam en het type van het geselecteerde widget vindt u op het eerste en het tweede tabblad.

Er zijn ook extra werkbalken beschikbaar:

  • De werkbalk Widgets bevat knoppen om nieuwe widgets op het formulier in te voegen. Selecteer Formulierontwerp om het te tonen.

Het tabblad Widgets gebruiken

Het tabblad Widgets in het paneel Eigenschappen toont een lijst met formulierwidgets en hun hiërarchie. Alle widgets op hetzelfde niveau in de hiërarchie staan bij elkaar. De namen van widgets in containers springen in.

Van elk widget wordt de naam en het type vermeld. Het type is ook te zien aan een pictogram links van de naam - hetzelfde pictogram dat in ontwerpmodus op de werkbalk staat.

Opmerking

  • Wanneer u op een naam in de lijst klikt, wordt het bijbehorende widget op het formulier geselecteerd. Dit maakt het gemakkelijk om een widget op naam te zoeken, te selecteren en daarna op het tabblad Eigenschappen de eigenschappen ervan te wijzigen

  • Wanneer u de Ctrl-toets ingedrukt houdt kunt u meerdere widgets uit de lijst selecteren. Om een aantal widgets die onder elkaar staan te selecteren moet u de Shift-toets ingedrukt houden.

Het is nuttig, maar niet verplicht, om de widgets duidelijke namen te geven. De naam van een widget is een eigenschap die niet zichtbaar is voor de gebruiker van het formulier. Gebruikers van het formulier zien alleen de tekst die door de eigenschap Tekst bepaald wordt.

Widgets invoegen - tekstvelden

Als voorbeeld maken we een formulier dat informatie geeft over personen, bijv. een formulier dat verbonden is met de tabel Personen.

Als het formulier gegevens uit een database moet weergeven, moet u de juiste velden op het formulier plaatsen. Hiervoor kunt u de knoppen op de werkbalk Widgets gebruiken. Elke knop correspondeert met één enkel type widget.

  1. Klik op de knop Tekstvak op de werkbalk Widgets.

  2. Klik op het formulier met de linkermuisknop. Er wordt een nieuw tekstveld op de plaats waar u geklikt hebt geplaatst. Wanneer u een rechthoek tekent met de muis de voordat u de muisknop loslaat, kunt u de gewenste grootte van het widget op het formulier bepalen.

  3. Als u het widget wilt verplaatsen, klikt u erop en sleept u het met de muis naar de gewenste plaats. U kunt de grootte van het widget wijzigen door één van de handvatten te verslepen. De handvatten zijn alleen zichtbaar als het widget geselecteerd is, als u een ander widget selecteert of op een lege plaats op het formulier klikt, verdwijnen de handvatten.

  4. Klik nogmaals op de knop Tekstvak op de werkbalk en klik daarna op- het formulier om een tweede widget in te voegen. Herhaal dit totdat u drie tekstvakken meer op het formulier hebt. Om het eenvoudig te houden beperken we ons tot vijf gegevensvelden.

Opmerking

  • In de ontwerpmodus van formulieren is er een contextmenu beschikbaar, dat geopend kan worden door met de rechter muisknop op een gewenste widget of op het formulier te klikken. Het menu bevat de commando's Knippen, Kopiëren, Plakken, Verwijderen en andere, sommige met submenu's. Voor deze commando's zijn ook sneltoetsen beschikbaar. Sommige commando's zijn alleen beschikbaar voor bepaalde typen widgets.

  • Met behulp van de commando's Knippen, Kopiëren en Plakken kunt u widgets verplaatsen of kopiëren naar andere formulieren en zelfs tussen aparte databaseprojecten.

  • Wanneer u de Ctrl-toets ingedrukt houdt terwijl u op een widget klikt, kunt u meerdere widgets selecteren.

  • Als u een kopie van een widget op het formulier wilt maken, kunt u in plaats van Kopiëren en Plakken de Ctrl-toets ingedrukt houden terwijl u het widget met de muis versleept. Nadat u de muisknop loslaat, wordt het widget niet verplaatst, maar wordt er een kopie van het widget op de cursorpositie geplaatst.

Gegevensbronnen toewijzen

Aan de velden die u ingevoegd hebt, is nog geen gegevensbron toegewezen, ze kunnen dus nog geen informatie uit de database weergeven. Om een gegevensbron toe te wijzen gebruiken we de tabblad (Gegevensbron) in het paneel Eigenschappenbewerker.

Allereerst moet de gegevensbron van het formulier gespecificeerd worden, bijv. de locatie waar de gegevens vandaan gehaald zullen worden. In dit geval gebruiken we de tabel Personen als gegevensbron voor het nieuwe formulier.

  1. Klik op een lege plaats op het formulier om te zorgen dat de eigenschappen van het formulier gewijzigd worden.

  2. Schakel over naar het tabblad (Gegevensbron) en voer de tabelnaam Personen in op de keuzelijst van Gegevensbron van formulier of klik op deze naam in de keuzelijst.

U hebt nu de gegevensbron voor het formulier toegewezen. Nu moeten de gegevensbronnen voor de widgets nog gespecificeerd worden.

  1. Klik op het eerste tekstveld, bovenin het formulier.

  2. Voer de veldnaam Naam in in het keuzevak Gegevensbron van het widget op het tabblad (Gegevensbron). U kunt ook deze naam kiezen in de keuzelijst.

  3. Klik op het volgende widget voor het tekstveld en voer Achternaam voor de gegevensbron in.

  4. Op dezelfde manier wijst u gegevensbronnen toe aan de tekstvelden straat huisnummer en plaats.

U kunt nu het formulierontwerp opslaan (u kunt het formulier wel testen als het nog niet opgeslagen is). Om het op te slaan klikt u op de knop Opslaan in de werkbalk. Bij het opslaan wordt een naam voor het formulier gevraagd. Voer Personen als opschrift in en klik op de knop OK. De formuliernaam wordt automatisch ingevuld.

U wilt nu waarschijnlijk het formulier testen. Klik op de knop Gegevens op de werkbalk. Als de gegevensbronnen correct zijn toegewezen, ziet u de formuliervelden met de gegevens uit de tabel Personen.

Opmerking

  • Als u toekenningen van gegevensbronnen aan widgets wilt verwijderen uit een formulierwidget, dan kunt u de knop in het vak Gegevensbron van widget gebruiken.

  • Gebruik het pictogram knop van (Ga naar de geselecteerde gegevensbron van het formulier) om de juiste tabel of query in de Projectnavigator te selecteren, zodat u snel een tabel of query als gegevensbron van het formulier kunt openen.

Tekstlabels invoegen

Om het voor de gebruiker van het formulier gemakkelijker te maken om de bedoeling van de velden te zien, kunt u er tekstlabels met een duidelijke omschrijving aan toevoegen. Hiervoor gebruikt u het widget Label.

Voeg drie tekstlabelwidgets toe in het formulier, en zet ze aan de linker kant van de tekstvelden (of aan de rechter kant als u de indeling rechts-naar-links gebruikt). Bij het invoegen van een nieuw label verschijnt er een tekstcursor op de locatie waar u de gewenste titel in kunt voeren. Voer achtereenvolgens: Naam, Achternaam, Straat, Huisnummer en Plaats in. Bovendien voegt u, aan de bovenkant van het formulier, nog een label in met de naam van het formulier, bijv. Personen. Vergroot de afmeting van dit label en vergroot de grootte van het lettertype met Lettertype in het tabblad Eigenschappen.

Acties

Een Actie is één handeling in de toepassing die de gebruiker kan uitvoeren. De handeling kan ook automatisch uitgevoerd worden als reactie op een bepaalde gebeurtenis, (bijv. na het openen van een formulier).

Acties aan knoppen toewijzen

Er kunnen allerlei acties aan knoppen toegewezen worden. De toegewezen actie wordt uitgevoerd nadat er op de knop is geklikt.

Een actie toewijzen:

  1. Schakel over naar de Ontwerpweergave als u dat nog niet had gedaan.

  2. Selecteer de bestaande knopwidget door er op te klikken of zet een nieuw knopwidget op het formulier. Als u een nieuwe knop invoegt, voer zijn titel in en druk op de Enter-toets.

  3. Klik op de knopwidget met de rechter muisknop om het contextmenu te tonen.

  4. Kies Actie toewijzen... in het contextmenu.

  5. Het dialoogvenster Actie toewijzen aan opdrachtknop wordt geopend, hierin staat een lijst met beschikbare acties. Als er een actie aan de widget is toegewezen, is deze geselecteerd. Anders is in de keuzelijst Actiecategorie het item Geen actie geselecteerd.

  6. Selecteer het item Toepassingsacties in de lijst Actiecategorie. Er verschijnt een lijst met alle beschikbare acties in de toepassing.

  7. Kies één van de acties uit de lijst (bijv. Geselecteerd object verwijderen).

Na omschakelen naar de gegevensweergave van het formulier kunt u kijken of de actie werkt.

Opmerking

  • Om een toegewezen actie te verwijderen, kiest u het item Geen actie in de lijst Actiecategorie in het dialoogvenster Actie toewijzen aan knop.

  • Acties werken alleen in de gegevensweergave van een formulier. Niet alle toewijzingen van acties zijn zinvol. Bijvoorbeeld de actie Lettertype... is beschikbaar in de gegevensweergave, maar alleen als u een widget in de Ontwerpweergave hebt geselecteerd. Als u wijzigingen doet aan het lettertype dan worden de wijzigingen toegepast op de tekst van dat geselecteerde widget.

Widget-layouts

In veel gevallen moeten de widgets overzichtelijk geplaatst en uitgelijnd worden. U kunt de widgets handmatig verplaatsen, uitlijnen en van grootte veranderen, maar dit is arbeidsintensief. Wanneer een gebruiker de grootte van het formulier verandert, wordt geen rekening gehouden met de plaats van de widgets. Bovendien kunt u niet bepalen hoeveel ruimte een formulier nodig heeft, omdat gebruikers met andere schermindelingen en resoluties werken.

Er is een speciaal hulpmiddel waarmee u de widgets op een formulier automatisch kunt indelen: widgets-layout. Hiermee kunt u twee of meer widgets groeperen, zodat deze op de juiste plaats staan en de juiste grootte hebben.

Met layouts wordt het uitlijnen gemakkelijker, tekstvelden staan dichter bij elkaar en de afstand tussen de elementen is overal hetzelfde.

Variabele afmetingen van widgets in een layout

U kunt de elementen een vaste grootte geven, maar in Kexi kunt u ook kiezen uit verscheidene andere manieren om de grootte van elementen in te stellen. Variabele afmetingen bieden een flexibele methode om te bepalen hoeveel een element uitgerekt (of samengedrukt) wordt, afhankelijk van naastgelegen elementen en de beschikbare ruimte op het formulier.

Na het invoegen van widgets op een regel zal deze van grootte veranderen om de zichtbare tekst te laten passen.

In de Eigenschappenbewerker kunt u voor elk element de variabele afmetingen instellen. Deze instellingen staan bij elkaar in de groep eigenschappen Variabele afmetingen.

Deze groep eigenschappen bevat:

Horizontaal variabel afmetingen

bepalen de horizontale grootte van het widget,

Verticaal variabele afmetingen

bepalen de verticale grootte van het widget,

Horizontaal uitrekken

bepaalt de mate waarin de Horizontaal variabele afmetingen beïnvloed worden,

Verticaal uitrekken

bepaalt de mate waarin de Verticaal variabele afmetingen beïnvloed worden

Waarden van variabele afmetingen

De volgende waarden zijn beschikbaar in de keuzelijst bij Hor. var. afm. en Vert. var. afm. in de Eigenschappenbewerker:

Vast

deze waarde betekent dat de afmetingen van het widget niet automatisch gewijzigd kunnen worden; de afmetingen (breedte of hoogte), die tijdens het ontwerpen gedefinieerd zijn, blijven behouden,

Minimum

deze waarde betekent dat de oorspronkelijke grootte van het widget als minimale grootte wordt ingesteld, de afmetingen voldoen en het is niet nodig om het widget groter te maken, maar zodra het nodig is, wordt het widget groter gemaakt. Dit type van variabele afmetingen kan worden gebruikt om het widget tot de totale breedte of hoogte te vergroten, in het bijzonder als u de uitrekwaarde op groter dan 0 instelt.

Maximum

deze waarde betekent dat de oorspronkelijke grootte van het widget als maximale grootte wordt ingesteld en dat het widget kleiner gemaakt kan worden, zonder dat het onbruikbaar of onleesbaar wordt, als andere widgets meer ruimte nodig hebben,

Voorkeur

deze waarde betekent dat de oorspronkelijke grootte van het widget het beste is en de voorkeur heeft; het widget kan echter groter of kleiner gemaakt worden en het zal leesbaar blijven,

Toenemend

deze waarde betekent dat de oorspronkelijke grootte van het widget redelijk is, maar het widget kan kleiner gemaakt worden; het kan ook zo groter gemaakt worden om zo veel mogelijk ruimte in te nemen,

Minimum toenemend

deze waarde betekent dat de oorspronkelijke grootte van het widget toegestaan is; het kan groter gemaakt worden om zo veel mogelijk ruimte in te nemen,

Genegeerd

deze waarde betekent dat de oorspronkelijke grootte van het widget genegeerd wordt; het widget kan groter gemaakt worden om zo veel mogelijk ruimte in te nemen, maar andere widgets maken dat gewoonlijk niet mogelijk

Verschillende typen widgets hebben ook verschillende standaarden voor de variabele afmetingen; knoppen hebben bijvoorbeeld als standaard dat de variabele afmetingen ingesteld zijn op Minimum (in beide richtingen), terwijl voor tekstvakken de verticaal variabele afmetingen ingesteld zijn op Vast.

De meestgebruikte variabele afmetingen zijn Voorkeur, Minimum en Maximum.

Verticaal en horizontaal uitrekken

De eigenschappen Vert. uitrekken en Hor. uitrekken accepteren waarden die groter dan of gelijk aan 0 zijn (de waarde moet een geheel getal zijn). Met behulp van deze eigenschappen kunt u het gedrag van variabele afmetingen preciezer instellen. De standaardwaarden voor beide eigenschappen is 0. Een hogere waarde voor het uitrekken betekent dat het widget meer vergroot wordt dan widgets waarvoor een lagere waarde ingesteld is.