Formulieren
Het gebruik van formulieren zorgt ervoor dat gegevens uit tabellen en querys op een aantrekkelijke manier voorgesteld worden en efficiënt te bewerken zijn. Gegevens die je in formulieren invoert of wijzigt komen altijd in een onderliggende tabel terecht..
4.1 Een Wizard-formulier ontwerpen
Met formulier-wizards beschik je over een aantal voorgedefinieerde formulieren, waarop een aantal ontwerp-taken reeds zijn uitgevoerd. Het formulier dat je op deze manier maakt, wordt onmiddellijk gekoppeld aan een welbepaalde groep records.



De keuze In kolomvorm plaatst de velden
netjes onder elkaar op het scherm met links
telkens de veld-naam (=Label) en ernaast de inhoud
van het veld (=Tekstvak).
De keuze In tabelvorm plaatst de velden naast
elkaar op het scherm. De veldnamen verschijnen als titels
boven de veldkolommen.
Klik op Volgende om naar een volgend scherm te
gaan

Selecteer hier het opmaak-profiel. Er zijn meerdere
keuzes. De Wizard toont je bij elk van de keuzes een
voorbeeld. Eénmaal beslist, klik je op Volgende
om naar een volgend scherm over te schakelen.
In het laatste scherm geven we het formulier een naam
("Invoeruitgeverijen")
Klik op Voltooien als je klaar bent.
Wanneer we het formulier zelf bekijken merk je op dat
de tekstvakken (= de vakken die de inhoud van de
velden weergeven) kunnen ingevuld worden. Deze vakken
veranderen als we via de recordaanwijzer
naar een
volgend record gaan. De tekst die voor elk record
gelijk blijft zijn de labels. Een label wordt
bijvoorbeeld ook gebruikt om een titel aan het formulier
toe te voegen. In het formulier naar een volgend veld
gaan kan door gebruik te maken van de enter-toets of de
Tab-toets of door met de muis in het desbetreffende veld
te klikken.
Sluit je formulier. Het formulier wordt in je
databasevenster bewaard onder de naam "Invoeruitgeverijen".
| Uitg_nr | AutoNummering | AutoNummering |
| Uitgeverij_benaming | Easy Computing NV | Ced.samsom |
| Straatnr | Alsembergsesteenweg 610 | Kouterveld 14 |
| Postnr | 1180 | 1831 |
| Plaats | Brussel | Diegem |
| Land | B | B |
| Tel_nr | 023/5258404 | 02/7231111 |
| Fax_nr | 023/5256405 | 02/7231050 |
| Info@easycomputing.com | ||
| Rek_nr | 310-0033540-64 |
Vanaf het databasevenster (te activeren via de functietoets F11) kom je rechtstreeks in de ontwerpweergave, door het formulier te selecteren en te klikken op de knop Ontwerpen; je komt in de formulierweergave door te klikken op de knop Openen. Bekijk het formulier: frmInvoeruitgeverijen in deze 3 weergaven.
4.2 Zelf een formulier samenstellen: basisprincipes
4.2.1 De verschillende delen van een formulier
Nadat we een formulier bekeken hebben zullen we nu zelf een formulier opbouwen. Het maken van een nieuw formulier op basis van een tabel of een query start zoals aangegeven in "Een Wizard-formulier" ontwerpen Kies als onderliggende tabel of query: tblBoeken en opteer nu voor Ontwerpweergave i.p.v. Wizard Formulier.
Bewaar regelmatig je formulier (naam: frmInvoerboeken)
Formulieren worden onderverdeeld in 5 secties:
- de formulierkoptekst, die de titel van het formulier bevat ;
- paginakoptekst ;
- de detailsectie, die de eigenlijke gegevens bevat ;
- paginavoettekst ;
- de formuliervoettekst.
De kern van een formulier is de detailsectie: deze is altijd aanwezig. Je kan de detailsectie vergroten/verkleinen door de randen ervan te verslepen in de gewenste richting.
De kop- en de voetteksten verkrijg je via het menu Beeld Formulierkoptekst/-voettekst en Beeld paginakoptekst/-voettekst.
Opdracht: Kies in het menu Beeld de optie Formulierkoptekst/-voettekst.
4.2.2 Besturingselementen in je formulier opnemen
4.2.2.1 Soorten besturingselementen
Formulieren bestaan uit afzonderlijke besturingselementen.
Sommige besturingselementen dienen voor de weergave van de informatie in de tabellen (bijvoorbeeld in tblUitgeverijen: de naam van een uitgeverij, wat voor elke record verandert) terwijl andere besturingselementen statische informatie weergeven (bijvoorbeeld de titel van je formulier).
Elk besturingselement kun je selecteren door erop te klikken. Elk type besturingselement beschikt ook over een eigen verzameling eigenschappen. (zie verder).
Besturingselementen kunnen afhankelijk, niet-afhankelijk of berekend zijn.
Afhankelijk besturingselement
Een besturingselement dat zijn oorsprong heeft in een bepaalde gegevensverzameling (tabel of query), is een afhankelijk besturingselement. Met zo'n besturingselement kun je velden in de gegevensverzameling weergeven of bijwerken. Voorbeelden hiervan zijn tekstvakken, keuzerondjes, selectievakjes, ...
Niet-afhankelijk besturingselement
Een besturingselement dat volledig zelfstandig is van een tabel is een niet-afhankelijk besturingselement. Dergelijke elementen worden voornamelijk gebruikt om informatie op het formulier weer te geven of om de lay-out van het formulier te verbeteren. Voorbeelden hiervan zijn labels, rechthoeken, lijnen, ...
Berekend besturingselement
Een besturingselement waarvan de inhoud berekend werd door middel van een expressie (rekenkundige of logische formules) is een berekend besturingselement.
4.2.2.2 Een label toevoegen
Met een label kun je beschrijvende tekst toevoegen aan het formulier. Hiermee voeg je bijvoorbeeld een titel, een bijschrift of een korte instructie toe. Een label is altijd niet-afhankelijk. De tekst in het label is voor alle records identiek ("Statisch").
Maak een label met als tekst "Invoer van boeken" in de formulierkoptekst.

De kleine blokjes gebruik je om de tekst-vakken te vergroten of te verkleinen door een klein blokje te slepen. Het groter blokje in de linkerbovenhoek dient om het besturingselement te verplaatsen. Plaats hiervoor de muispointer op het blokje (de muispointer verandert in een hand met een uitgestoken wijsvinger) en sleep het naar een andere plaats.
4.2.2.3 Een tekstvak toevoegen dat gekoppeld is aan een veld in een tabel (= afhankelijk tekstvak).
Om een afhankelijk tekstvak te maken moet je vanaf de beginfase van het formulierontwerp opgeven vanuit welke gegevensverzameling (tabel of query) de velden moeten worden geselecteerd. Hiervoor moet je in het dialoogvenster "Nieuw formulier", de naam opgeven van de tabel of query die als basis dient voor het formulier. Wij hebben reeds als gegevensverzameling tblBoeken gekozen.
Klik in de werkbalk op de knop Lijst met velden(of via Beeld Lijst met velden.... Het venster met de veldenlijst verschijnt. Kies het eerste veld (Volgnummer) en sleep het naar de linkerbovenhoek van de detailsectie van het formulier. De positie van het symbool dat aan de muisaanwijzer "hangt" geeft de linkerbovenhoek van het tekstvak aan (niet de label), indien je de muisknop loslaat. Naast het tekstvak wordt automatisch een label toegevoegd, met de naam van het veld of het bijschrift.
Probeer vervolgens Vakcode ongeveer op dezelfde hoogte van Volgnummer in de detailsectie van het formulier te plaatsen.
Meerdere velden kun je selecteren met de Shift-toets of de Ctrl-toets. Selecteer de overige velden en plaats ze onder Vakcode. Om alle velden te selecteren kun je dubbelklikken op te titelbalk.
4.2.2.4 Een berekend besturingselement toevoegen
In een formulier kan je allerlei berekeningen (expressies) opnemen die niet als een veld in de tabel of query opgenomen zijn maar die gewoon in het formulier zelf berekend worden. Hiervoor gebruik je de knop Tekstvak
uit je Werkset en je duidt de plaats aan in het formulier waar de berekende waarde moet komen. Een tekstvak krijgt automatisch ook een label mee, dat je kan verplaatsen of verwijderen. Je kan de naam van het label ook veranderen. In het tekstvak verschijnt "Niet-afhankelijk" om aan te duiden dat de berekening niet uit een onderliggende tabel of query afkomstig is.
Net als in queries kan de expressie veldnamen bevatten (tussen vierkante haken), rekenkundige operatoren, functies en constanten (bvb. 21%). Je kan ook het & teken gebruiken. Met deze operator kun je verschillende operanden die uit tekens bestaan aan elkaar voegen. Hou er rekening mee dat expressies met een = teken beginnen!
In plaats van rechtstreeks in je tekstvak de expressie in te tikken kan je ook de eigenschappen van het tekstvak openen en naast de eigenschap Besturingselementbron de expressie intikken.
De bestelling van een te kopen boek is gelijk aan het verschil tussen de minimumvoorraad en de voorraad. Voeg in frmInvoerboeken een teksvak toe om dit te berekenen
Maak een berekend tekstvak om de huidige datum en tijd van de systeemklok weer te geven. Verander de label van het nieuwe tekstvak in Datum/tijd.
4.2.3 Opmaak van het formulier
4.2.3.1 Aanpassen van de kleuren, randen, Lettertype en Lettergrootte .
Het label dat je als titel in de formulierkoptekst hebt geplaatst moet als lettertype "Times New Roman", puntgrootte 26 krijgen. Pas vervolgens de grootte van je label aan het nieuwe lettertype aan. Als achtergrond kiezen we de kleur geel en als tekstkleur rood. Je mag ook een zwarte dikke rand rond het besturingselement plaatsen. Tenslotte moet je het label centreren in de formulierkoptekst (door het te verplaatsen).
Maak hierbij gebruik van de werkbalk "Opmaak":
Bespreking van de werkbalk "opmaak":
Nr |
Knop |
Voor het toepassen van de volgende opmaak |
| 1 | Object selecteren | Labels, Tekstvakken, secties, ...selecteren |
| 2 | Lettertype | Het lettertype van de geselecteerde besturingselementen aanpassen |
| 3 | Tekengrootte | De tekengrootte van de geselecteerde besturingselementen aanpassen |
| 4 | Vet | Tekst in de geselecteerde besturingselementen in het vet plaatsen. |
| 5 | Cursief | Tekst in de geselecteerde besturingselementen in het cursief plaatsen. |
| 6 | Onderstrepen | Tekst in de geselecteerde besturingselementen links onderstrepen. |
| 7 | Links uitlijnen | Tekst in de geselecteerde besturingselementen links uitlijnen. |
| 8 | Centreren | Tekst in de geselecteerde besturingselementen centreren |
| 9 | Rechts uitlijnen | Tekst in de geselecteerde besturingselementen rechts uitlijnen. |
| 10 | Achtergrondkleur | Achtergrondkleuren van de geselecteerde besturingselementen of sectie wijzigen |
| 11 | Voorgrondkleur | De lettertypekleur van de geselecteerde besturingselementen wijzigen |
| 12 | Randkleur | De randkleur van de geselecteerde besturingselementen wijzigen |
| 13 | Randbreedte | De randbreedte van een besturingselement |
| 14 | Speciaal effect | Een normaal, verhoogd of verlaagd effect voor een besturingselement of een sectie. |
Om het lettertype van meerdere besturingselementen tegelijk aan te passen moet je ze eerst allemaal selecteren.
Pas nu de volgende lay-out toe op de besturingselementen van je formulier:
LABELS |
TEKSTVAKKEN |
|
| Achtergrondkleur | Lichtblauw | Lichtgroen |
| Lettertype: | Times New Roman, 12 + Cursief | Times New Roman, 12 + Vet |
| Rand: | dikke rand in het zwart | fijne rand in het zwart |
4.2.3.2 Besturingselementen uitlijnen
Je kan de besturingselementen op het raster uitlijnen en je kan ze op elkaar uitlijnen.
Via het menu Beeld Raster bepaal je of het raster zichtbaar of onzichtbaar is.
Via het menu Opmaak Op raster uitlijnen bepaal je of nieuwe besturingselementen automatisch op het raster uitgelijnd zullen worden.
Selecteer een Tekstvak en verplaats het naar beneden, zodat het Label horizontaal niet meer op dezelfde hoogte als het Tekstvak staat. Selecteer vervolgens zowel het Label als het tekstvak en kies het menu opmaak uitlijnen :
boven is bovenkant van het hoogste besturingselement (namelijk het label);
onder is onderkant van het laagste besturingselement (namelijk het tekstvak).


uitgelijnd
We kunnen besturingselementen ook verticaal op elkaar uitlijnen door de objecten die je wil uitlijnen te selecteren en Links of Rechts te kiezen uit het menu Opmaak uitlijnen. Er wordt telkens uitgelijnd op het meest linkse, respectievelijk rechtse besturingselement.
Velden uitlijnen: schots en scheef
Velden uitlijnen: netjes onder elkaar
Lijn de Labels rechts uit en de Tekstvakken links.
4.2.3.3 Formaat en afstand tussen besturingselementen aanpassen
menukeuze: Opmaak formaat wijzigen
| Passend | Past de hoogte van de geselecteerde besturingselementen aan het gebruikte lettertype aan |
| Op raster | Lijnt de geselecteerde besturingselementen op de dichtsbijzijnde rasterpunten uit (als je bv. Eerst zonder de optie "Op raster uitlijnen" (menu opmaak) geplaatst hebt). |
| Op grootste | Alle geselecteerde besturingselementen krijgen dezelfde hoogte. Het hoogste besturingselement bepaalt hoe hoog alle besturingselementen zijn. |
| Op kleinste | Alle geselecteerde besturingselementen krijgen dezelfde hoogte. Het laagste besturingselement bepaalt hoe hoog alle besturingselementen zijn. |
| Op breedste | Alle geselecteerde besturingselementen krijgen dezelfde breedte. Het breedste besturingselement bepaalt hoe breed alle besturingselementen zijn. |
| Op smalste | Alle geselecteerde besturingselementen krijgen dezelfde breedte. Het smalste besturingselement bepaalt hoe breed alle besturingselementen zijn. |
Maak alle labels samen even breed en alle tekstvakken samen even breed. Zorg er wel voor dat alle tekst in het formulier zichtbaar blijft.
menukeuze: Opmaak Horizontale afstand of Opmaak Verticale afstand
Met deze keuzen maak je de horizontale afstand of de verticale afstand tussen meerdere geselecteerde besturingselementen overal even groot. Je kan ook de horizontale of verticale afstand tussen de geselecteerde besturingselementen vergroten of verkleinen.
Maak de verticale afstand tussen de besturingselementen gelijk.
4.2.4 Eigenschappen van besturingselementen, secties of formulieren
Elk onderdeel van een formulier heeft bepaalde eigenschappen. Ze bepalen hoe het onderdeel er op het scherm of op papier zal uitzien, of welke waarden in een bepaald veld zijn toegelaten. Om eigenschappen aan te passen, werk je in de ontwerp-weergave. Afhankelijk van het onderdeel dat je wil aanpassen (een volledig formulier, sectie of besturingselement) klik je in de volgende gebieden:
| een volledig formulier | klik buiten de secties, dus buiten het raster op de grijze achtergrond |
| een sectie | klik binnen de sectie of in de titel van de sectie |
| een besturingselement | klik in het besturingselement |
Selecteer het eerste besturingselement in de detail-sectie van frmInvoer_boeken en klik dan in de werkbalk op de knop Eigenschappen
(of via het menu Beeld eigenschappen of via het snelmenu). Plaats het venster met de eigenschappen rechts van de besturingselementen.
De titelbalk van het venster Eigenschappen vertelt ons welk soort besturingselement je geselecteerd hebt : een label, tekstvak, aankruisvakje, keuzerondje, lijn, ... Dit is zeer belangrijk om het soort besturingselement te "herkennen".
Je kunt nu van het geselecteerde onderdeel alle mogelijke eigenschappen toevoegen of verwijderen. De eigenschappen zijn in 4 groepen verdeeld.
Zeer belangrijk: het onderscheid tussen volgende eigenschappen:
In de helpfunctie van MS Access vind je gedetailleerde informatie over de verschillende eigenschappen. Gebruik deze helpfunctie !
4.2.5 Een keuzelijst of een keuzelijst met invoervak maken
4.2.5.1 Onderscheid tussen keuzelijst (listbox) of keuzelijst met invoervak (combobox)
Een keuzelijst is een lijst met een aantal invoermogelijkheden voor een veld. De lijst is altijd open en toont de enige mogelijke invoeropties voor het tekstvak. De lijst onder txtHuren_of_kopen (tblBoeken) bevat 2 mogelijkheden voor het veld: H of K
In een keuzelijst kan je geen nieuwe waarden toevoegen (bvb. L(enen))
Een keuzelijst met invoervak is een keuzelijst die als optie een afrollijst heeft. Als je een keuzelijst met invoervak gebruikt, kan je iets in het invoervak intypen (je kan dus nieuwe waarden toevoegen) of je kan de afrollijst gebruiken en een invoeroptie selecteren uit de afrollijst. Het veld txtPlaats hieronder gebruikt een keuzelijst met invoervak.
Als je wil dat de keuzelijst (met invoervak) records uit een bestaande tabel of query toont, kun je het best een query ontwerpen die velden en records toont zoals je ze in de afrollijst wil hebben.
Nadat je de Query gedefinieerd hebt, kan je deze het beste ook uitvoeren om te zien of je inderdaad de resultaten krijgt die je in de afrollijst wil zien. Sluit de Query af en sla hem op zodat je hem later aan de keuzelijst met invoervak kan toevoegen.
4.2.5.2 Enkele kenmerken van een keuzelijst of een keuzelijst met invoervak
Tabel/Query:
De rijen in de lijst zijn afkomstig uit de records in een tabel of query. Als je deze optie kiest, moet het kenmerk Rijbron de naam hebben van een tabel of een query.
Waardenlijst:
De rijen in de lijst komen uit de eigenschap Rijbron. Als je deze optie kiest, moet het kenmerk Rijbron de waarden bevatten die in de lijst getoond moeten worden.
Lijst met velden:
De gegevens bestaan uit een lijst met veldnamen uit de tabel of de query die is opgegeven bij Rijbron. Deze optie wordt gebruikt in combinatie met macro's.
De instellingen voor de eigenschap Rijbron zijn afhankelijk van het brontype dat is opgegeven bij Type Rijbron. Als je Tabel/query als Type Rijbron neemt, kies dan de naam van de query of de tabel waarin de records staan die je in de lijst wilt tonen. Als je Waardenlijst kiest, typ dan hier de waarden in die je in de lijst wil tonen, gescheiden door puntkomma's (;).
4.2.5.3 Een keuzelijst maken.
We zullen in ons formulier frmInvoerboeken een keuzelijst maken van het veld txtHuren_of_kopen. Hetgeen in txtHuren_of_kopen moet ingevuld worden, moet door de gebruiker geselecteerd worden uit een keuzelijst Huren_of_kopen die zich onder het tekstvak bevindt. Het tekstvak zelf zullen we beveiligen, zodat je er niets meer kan aan wijzigen. De gebruiker wordt op die manier verplicht de optie te selecteren uit de keuzelijst (zodat hij zelf geen "nieuwe" opties kan toevoegen). De keuze verschijnt vervolgens automatisch in het tekstvak.
Maak deze keuzelijst in frmInvoerboeken.
4.2.5.4 Een keuzelijst met invoervak maken.
In frmInvoeruitgeverijen maken we het volgende keuzelijst met invoervak:
Maak deze keuzelijst in frmInvoeruitgeverijen
4.2.6 Wisselknoppen, keuzerondjes en selectievakjes
Op de werkset vind je de volgende knoppen terug:
Deze besturingselementen kan je gebruiken om ja/nee-keuzes aantrekkelijk weer te geven. De ja-keuze wordt weergegeven door:
- een wisselknop die ingedrukt is
- een keuzerondje met zwarte stip
- een aangekruist selectievakje
Ga naar het ontwerp van frmInvoerboeken en maak op de volgende manier van txtUit_assortiment een selectievakje:
Bij een wisselknop staat de omschrijvende tekst op de knop (i.p.v. een Label). Wisselknoppen kan je ook opvullen met (zelfgemaakte) figuren. Klik hiervoor bij de eigenschap Figuur op de knop met de drie puntjes ( ). Vervolgens kom je in het volgende dialoogvenster terecht:
Je kan kiezen uit een reeks aanwezige figuren of via de knop Bladeren kun je een eigen figuur opgeven die je bvb. met een tekenprogramma gemaakt hebt.
4.2.7 Groepsvakken
Wisselknoppen, keuzerondjes en selectievakjes kunnen alleen de waarde Ja/Nee opleveren wanneer ze in hun eentje in een formulier gebruikt worden. Wanneer je deze besturingselementen echter in een groepsvak plaatst, kunnen ze een getal opleveren dat je opgeeft met de eigenschap Optiewaarde van het besturingselement.
Een Groepsvak (option group) is handig om gegevens te presenteren als er enkele mogelijkheden beschikbaar zijn. Als het Groepsvak aan een veld gekoppeld is, moet het onderliggende veld in de tabel numerieke gegevens kunnen bevatten omdat de optieknoppen een numerieke waarde in het veld opslaan: 1 voor de eerste knop, 2 voor de tweede knop en zo verder. Deze numerieke waarden kun je aanpassen.
Het is het groepsvak en niet de componenten (wisselknoppen, keuzerondjes of selectievakjes) ervan die moet gekoppeld worden via de eigenschap Besturingselementbron aan een "numeriek" veld.
Maak een nieuw formulier, gebaseerd op de tblBoeken_per_leerling. Maak van txtBetalingscode een groepsvak (zie figuur). Het veld txtBetalingscode staat op 1 wanneer het boek aangerekend wordt en 2 indien het niet wordt aangerekend.
Ga hiervoor als volgt te werk:
In de omschrijving van ons veld optBetalingscode hebben we gezegd dat "aan te rekenen" gelijk moet zijn aan de numerieke waarde 1 en "niet aan te rekenen" aan de numerieke waarde 2. Deze waarden moeten uiteraard overeenkomen met de optiewaarden van de wisselknoppen. Controleer daarom bij de eigenschappen van elke wisselknop (niet het Label !) ofdat de eigenschap Optiewaarde de juiste numerieke waarde bevat. Indien dit niet zo is kun je het hier aanpassen.
Bewaar je formulier onder de naam "Boeken_per_leerling".
4.2.8 De tabulatievolgorde in een formulier wijzigen
Met de eigenschap Tabvolgorde kun je de plaats opgeven van een besturingselement in de tabvolgorde van een formulier.
Je kunt de tabvolgorde van de besturingselementen in een formulier ook instellen met de opdracht Tabvolgorde in het menu Beeld. Je verkrijgt dan het volgende dialoogvenster:
Hiermee stel je tegelijk de eigenschap Tabvolgorde
van de besturingselementen in.
Standaard krijgen nieuwe besturingselementen automatisch een
positie in de tabvolgorde toegewezen op basis van de volgorde
waarop ze worden toegevoegd aan een formulier. Elk nieuw
besturingselement wordt als laatste in de tabvolgorde geplaatst.
Als je de instelling van de eigenschap Tabvolgorde van een
besturingselement wijzigt om de tabvolgorde aan te passen, wordt
de instelling van de eigenschap Tabvolgorde van de
andere elementen in de tabvolgorde automatisch aangepast.
| Klascode |
| Llnr |
| Volgnummer_boek |
| Betalingscode |
Om de focus in je formulier terug te laten springen van linksboven naar rechtsonder pas je de tab-volgorde aan, door <Bewerken> <Tabvolgorde> te kiezen en daar de knop Automatisch (of AutoVolgorde) aan te klikken. De volgorde van de velden in het vak Aangepaste volgorde past zich dan aan aan de volgorde op het formulier. Je kan uiteraard ook zelf de velden op de juiste plaats slepen.