2/3 ACCESS - Roger Frans · 2011. 9. 26. · 2 – Access 2007 2/3 Afspraken We gaan van start......

10
ACCESS 2/3 campinia media vzw ® Roger Frans OFFICE 2007 m e t c d - r o m

Transcript of 2/3 ACCESS - Roger Frans · 2011. 9. 26. · 2 – Access 2007 2/3 Afspraken We gaan van start......

  • ACCESS

    2/3

    campiniamedia vzw

    ®

    Roger Frans

    OFFICE 2007m

    etcd

    -rom

  • Frans, Roger – Access 2007 2/3 / Roger Frans; Geel: Campinia Media vzw, 2009; 273 p; index; 25 cm; gelijmd. ISBN: 97890356.1234.1; NUGI 854; UDC 681.3.06 Wettelijk depot België: D/2009/3941/1 Campinia Media vzw Kleinhoefstraat 4 B – 2440 – GEEL (Belgium) Tel.: (+32) 014/59 09 59 Fax: (+32) 014/59 03 44 e-Mail: URL: Copyright 2009: No part of this book may be reproduced in any form, by print,

    photoprint, microfilm or any other means without written permission of the publisher.

    Niets uit deze uitgave mag worden verveelvoudigd en/of

    openbaar gemaakt door middel van druk, fotokopie, print, microfilm of op welke andere wijze ook, zonder voorafgaande schriftelijke toestemming van de uitgever.

  • Inleiding - 1

    Inleiding

    In het boek Access 2007 1/3 zijn de basisbegrippen van Access aan bod gekomen:

    tabellen, eenvoudige query‟s, formulieren en rapporten. We hebben ook relaties

    tussen tabellen aangebracht.

    Indien je een toepassing wenst te maken in Access, is het belangrijk dat je de juis-

    te gegevens in de juiste tabellen creëert. In dit tweede deel, Access 2007 2/3, leren

    we in eerste instantie hoe je een toepassing ontwikkelt. We vertrekken van een

    concreet probleem, normaliseren de gegevens en stellen de gegevensstructuur op.

    We importeren gegevens uit meerdere pakketten. We passen de gegevens aan

    m.b.v. bijwerkquery‟s in Access. We leren nog verschillende andere types van

    query‟s kennen: verwijderquery‟s, tabelmaakquery‟s, kruistabelquery‟s, …

    Een eenvoudige toepassing kan je automatiseren m.b.v. macro‟s. We illustreren

    dit met voorbeelden waarin zowel eenvoudige macro‟s als conditionele macro‟s

    en macrogroepen aan bod komen.

    We geven in dit boek ook voorbeelden van meer complexe formulieren en rappor-

    ten. Bij het ontwerp hiervan zal je merken dat macro‟s dikwijls ontoereikend zijn.

    Indien je een toepassing wil maken, moet je leren programmeren in Visual Basic

    for Applications (VBA) in Access. We besteden daarom ook ruime aandacht aan

    het leren van de programmeertaal VBA aan de hand van tal van concrete voor-

    beelden.

    Access 2007 2/3 is een doe-cursus. Dit betekent dat je de cursus doorneemt terwijl

    je voor de computer zit. Je neemt per hoofdstuk de cursustekst door. Daarna maak

    je de oefeningen.

    Bij de cursus hoort een cd-rom. Op deze cd-rom staan bestanden die je nodig hebt

    bij het doornemen van het boek. Je vindt er ook een bestand Lees mij.doc. Hierin

    staat uitgelegd hoe je de bestanden gebruikt. Je kunt dit bestand lezen door op de

    naam van het bestand te dubbelklikken in Verkenner of je kunt het openen in een

    tekstverwerkingspakket zoals Word.

    Tot slot van deze inleiding dank ik éénieder die geholpen heeft bij het tot stand

    komen van deze cursus. Dank je wel.

    Ik hoop dat dit voor jou een nuttige en aangename cursus is, een cursus die je in-

    zicht geeft in het maken van toepassingen in Access. Opmerkingen die een latere

    uitgave kunnen verbeteren zijn welkom.

    Roger Frans

    januari 2007

  • 2 – Access 2007 2/3

    Afspraken

    We gaan van start... In de volgende paragrafen en hoofdstukken leren we aan de

    hand van concrete voorbeelden Access gebruiken. We veronderstellen dat je de

    voorbeelden op de computer uitvoert.

    De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt geno-

    teerd.

    Je geeft je wachtwoord in. Dit wachtwoord wordt niet op het scherm getoond. Je krijgt enkel sterretjes (*) te zien. Je klikt op de knop OK om te bevestigen.

    Het pijltje geeft aan dat er iets van je verwacht wordt. Na het pijltje wordt om-

    schreven wat je moet doen.

    Nieuwe begrippen worden vet afgedrukt. Namen van menukeuzen, knoppen, e.d.

    worden schuin afgedrukt.

    Indien je tekst letterlijk moet ingeven, wordt dit in een ander lettertype weergege-

    ven: Dit moet je letterlijk intypen.

    De bijgevoegde cd-rom bevat een map Ac2007_2_Vbn. De map bevat bestanden

    die je nodig hebt om de voorbeelden in deze cursus te maken. Je kopieert de map

    best naar je harde schijf. Je maakt ook een map Ac2007_2_Oef aan waarin je de

    voorbeelden plaatst die je in deze cursus uitwerkt.

    Je vindt in de map Ac2007_2_Oef op de cd-rom de uitwerkingen van de voor-

    beelden en oefeningen op het einde van elk hoofdstuk. Je hebt de map normaal

    niet nodig… Het is de bedoeling dat je zelf de voorbeelden en oefeningen maakt.

    Op de cd-rom staan in de map Ac2007 nog drie bijkomende hoofdstukken, één

    over macro‟s in rapporten, één over arrays in Visual Basic for Applications en één

    over naamgeving van objecten. Er wordt in de tekst verwezen naar deze hoofd-

    stukken. Je hoeft de hoofdstukken niet door te nemen om de cursus verder te vol-

    gen. Het is een uitbreiding op het cursusmateriaal.

  • Inhoudsopgave - 3

    Inhoudsopgave

    INLEIDING .......................................................................................................... 1 AFSPRAKEN ...................................................................................................... 2 INHOUDSOPGAVE ............................................................................................. 3 1 NORMALISEREN VAN GEGEVENS ........................................................ 9 1.1 Inleiding .............................................................................................................................. 9 1.2 Een toepassing: Kassa ....................................................................................................... 9

    1.2.1 Inleiding .......................................................................................................................... 9 1.2.2 Probleemomschrijving ................................................................................................... 10 1.2.3 Concretisering ............................................................................................................... 10 1.2.4 Vragen naar voorbeelden ............................................................................................... 10

    1.3 Een gegevensmodel .......................................................................................................... 11 1.3.1 Een informatiebehoefte ................................................................................................. 11 1.3.2 Waarom niet in één tabel? ............................................................................................. 11 1.3.3 Gegevensanalyse ........................................................................................................... 11

    1.4 Normaliseren .................................................................................................................... 12 1.5 De eerste normaalvorm ................................................................................................... 12

    1.5.1 De eerste normaalvorm .................................................................................................. 12 1.5.2 Inventariseer alle elementaire gegevens (stap 1.1) ........................................................ 12 1.5.3 Elementaire gegevens .................................................................................................... 14 1.5.4 Verwijder alle procesgegevens (stap 1.2) ...................................................................... 14 1.5.5 Een primaire sleutel kiezen (stap 1.4)............................................................................ 15 1.5.6 Deelverzamelingen opzoeken die meermaals voorkomen (stap 1.5) ............................. 16 1.5.7 Een nieuwe groep maken (stap 1.6) ............................................................................... 16 1.5.8 De zich herhalende deelverzameling verwijderen (Stap 1.7) ........................................ 17 1.5.9 De stappen 1.3 tot 1.8 zijn herhalend ............................................................................ 17

    1.6 De tweede normaalvorm.................................................................................................. 18 1.6.1 De tweede normaalvorm ................................................................................................ 18 1.6.2 Het begrip functionele afhankelijkheid ......................................................................... 18 1.6.3 Functionele afhankelijkheden in ons voorbeeld ............................................................ 19

    1.7 De derde normaalvorm.................................................................................................... 20 1.8 Andere normaalvormen .................................................................................................. 21 1.9 Koppeling tussen groepen ............................................................................................... 21 1.10 Aanmaken van de database ............................................................................................. 22 1.11 Aanmaken van de tabellen .............................................................................................. 22

    1.11.1 Creëren van een tabel .................................................................................................... 22 1.11.2 Importeren van gegevens uit Excel ............................................................................... 23 1.11.3 Gegevens uit Word gebruiken ....................................................................................... 27 1.11.4 Gegevens uit een tekstbestand (scheidingstekens) ........................................................ 29 1.11.5 Gegevens uit een tekstbestand (vaste breedte) .............................................................. 33 1.11.6 Gegevens importeren uit een ander Access-bestand ...................................................... 35

    1.12 Aanmaken van de relaties ............................................................................................... 36 1.13 Oefeningen ........................................................................................................................ 39 2 GEAVANCEERDE QUERY’S ................................................................. 41 2.1 Inleiding ............................................................................................................................ 41 2.2 Beveiligingswaarschuwing .............................................................................................. 41 2.3 Eenvoudige selectiequery’s ............................................................................................. 43 2.4 Joins .................................................................................................................................. 45

    2.4.1 Een inner join ................................................................................................................ 45 2.4.2 Outer join ....................................................................................................................... 46

    2.5 Statistische selectiequery’s .............................................................................................. 48 2.5.1 Berekenen van totalen ................................................................................................... 48 2.5.2 Mogelijke functies ......................................................................................................... 50

    2.6 Actiequery’s ...................................................................................................................... 50 2.7 Een tabel bijwerken ......................................................................................................... 51

    2.7.1 Gegevens bijwerken op basis van een bepaalde waarde ................................................ 51 2.7.2 Gegevens bijwerken op basis van een formule .............................................................. 52

    2.8 Tabelmaakquery’s ........................................................................................................... 53 2.9 Een verwijderquery ......................................................................................................... 55

  • 4 – Access 2007 2/3

    2.9.1 Conflict oplossen ........................................................................................................... 55 2.9.2 Relatie aanpassen .......................................................................................................... 58

    2.10 Een toevoegquery ............................................................................................................. 58 2.11 Kruistabelquery’s ............................................................................................................ 59

    2.11.1 Een kruistabel maken vanuit het queryontwerpvenster ................................................. 59 2.11.2 Een kruistabel maken met een wizard ........................................................................... 61

    2.12 Wizard Dubbele records.................................................................................................. 65 2.12.1 Aanmaken Wizard Dubbele records .............................................................................. 65 2.12.2 Ontwerpweergave .......................................................................................................... 67

    2.13 Samenvoegquery’s (Union query’s) ............................................................................... 68 2.13.1 Een samenvoegquery maken met de hulp van de grafische omgeving .......................... 68 2.13.2 Een samenvoegquery rechtstreeks intypen .................................................................... 69

    2.14 Pass Through-query ........................................................................................................ 69 2.15 Definitiequery ................................................................................................................... 69 2.16 Eigenschappen van een query ......................................................................................... 70

    2.16.1 Unieke waarden en unieke records ................................................................................ 70 2.16.2 Unieke records bij een verwijderquery .......................................................................... 71

    2.17 Oefeningen ........................................................................................................................ 72 3 MACRO’S ............................................................................................... 75 3.1 Inleiding ............................................................................................................................ 75 3.2 Formulierweergaven ........................................................................................................ 75 3.3 Het hoofdmenu, een onafhankelijk formulier ............................................................... 76

    3.3.1 Instellingen op het niveau van het formulier ................................................................. 76 3.3.2 Een opdrachtknop toevoegen m.b.v. een wizard ........................................................... 77 3.3.3 Een ingesloten macro .................................................................................................... 79 3.3.4 Een opdrachtknop toevoegen zonder wizard ................................................................. 80 3.3.5 Een afbeelding invoegen ............................................................................................... 81

    3.4 Een macro maken ............................................................................................................ 82 3.4.1 Het macrovenster ........................................................................................................... 82 3.4.2 De actie FormulierOpenen (OpenForm) ........................................................................ 83 3.4.3 De actie OpdrachtUitvoeren (RunCommand) ............................................................... 84 3.4.4 Wat doet de macro? ....................................................................................................... 85 3.4.5 Macro bewaren .............................................................................................................. 85

    3.5 Macro uitvoeren ............................................................................................................... 85 3.5.1 Macro uitvoeren vanuit het macroscherm ..................................................................... 85 3.5.2 Macro uitvoeren vanuit het lint ..................................................................................... 86 3.5.3 Macro starten vanuit een formulier ............................................................................... 86

    3.6 Macrogroepen .................................................................................................................. 87 3.6.1 Macrogroep ................................................................................................................... 87 3.6.2 Uitvoeren van een macro in een macrogroep ................................................................ 89

    3.7 Herschikken acties, acties verwijderen, … .................................................................... 89 3.8 Een gebruiker selecteren uit een keuzelijst .................................................................... 89

    3.8.1 Aanmaken van de keuzelijst .......................................................................................... 89 3.8.2 Aanmaken van de macro ............................................................................................... 92 3.8.3 Synchroniseren van de keuzelijst met de detailsectie .................................................... 93

    3.9 Synchroniseren van twee keuzelijsten ............................................................................ 94 3.10 Stap voor stap uitvoeren van een macro ........................................................................ 95 3.11 Oefeningen ........................................................................................................................ 96 4 MACRO’S / 2 .......................................................................................... 99 4.1 Inleiding ............................................................................................................................ 99 4.2 Een hoofd- en subformulier volledig zelf ontwerpen .................................................... 99

    4.2.1 Aanmaken van het hoofdformulier ................................................................................ 99 4.2.2 Aanmaken van het subformulier .................................................................................. 104 4.2.3 Subformulier invoegen in het hoofdformulier ............................................................. 106

    4.3 Een groepsvak ................................................................................................................ 106 4.4 Een waarde toekennen aan een veld, eigenschap, … .................................................. 109

    4.4.1 Een waarde toekennen aan een besturingselement ...................................................... 109 4.4.2 Een waarde toekennen aan een veld ............................................................................ 110 4.4.3 Een waarde toekennen aan een eigenschap ................................................................. 110

    4.5 Voorwaarden in een macro ........................................................................................... 112 4.6 De macro AutoExec ....................................................................................................... 114 4.7 Opties voor Access ......................................................................................................... 114 4.8 Macro’s in rapporten ..................................................................................................... 116

  • Inhoudsopgave - 5

    4.9 Oefeningen ...................................................................................................................... 116 5 SCHAKELBORDBEHEER… EN KOPPELINGSBEHEER ................... 119 5.1 Inleiding .......................................................................................................................... 119 5.2 Schakelbordbeheer ........................................................................................................ 119

    5.2.1 Aanmaken van een schakelbord .................................................................................. 119 5.2.2 Uittesten van het schakelbord ...................................................................................... 120

    5.3 Bewerken van een schakelbord ..................................................................................... 121 5.4 Een submenu .................................................................................................................. 121 5.5 Koppelen van tabellen ................................................................................................... 123

    5.5.1 Tabellen scheiden van de andere objecten ................................................................... 123 5.5.2 Wizard Database Splitsen ............................................................................................ 123 5.5.3 Manueel splitsen van een database .............................................................................. 124 5.5.4 Koppelen tabellen ........................................................................................................ 125 5.5.5 De koppelingen vernieuwen ........................................................................................ 126

    5.6 Oefeningen ...................................................................................................................... 127 6 DE SYNTHESEMETHODE ................................................................... 129 6.1 Inleiding .......................................................................................................................... 129 6.2 Het voorbeeld Taken ..................................................................................................... 129

    6.2.1 Probleemomschrijving ................................................................................................. 129 6.2.2 Concretisering ............................................................................................................. 129

    6.3 Het gegevensstructuurdiagram ..................................................................................... 130 6.4 De database Taken ......................................................................................................... 131

    6.4.1 De database Taken.accdb ............................................................................................ 131 6.4.2 De relaties aanmaken ................................................................................................... 132

    6.5 Veldeigenschappen ......................................................................................................... 133 6.5.1 Het invoermasker Wachtwoord ................................................................................... 133 6.5.2 Bijschrift ...................................................................................................................... 133 6.5.3 Vereist en Lengte nul toestaan..................................................................................... 134 6.5.4 Geïndexeerd................................................................................................................. 134

    6.6 Programmeren in Visual Basic for Applications ......................................................... 134 6.7 Oefeningen ...................................................................................................................... 134 7 INLEIDING TOT VISUAL BASIC FOR APPLICATIONS ...................... 135 7.1 Inleiding .......................................................................................................................... 135 7.2 Een macro converteren naar Visual Basic ................................................................... 135 7.3 Een voorbeeld van een subprocedure ........................................................................... 137

    7.3.1 Probleemstelling .......................................................................................................... 137 7.3.2 Ontwerp van het scherm .............................................................................................. 137 7.3.3 Gebeurtenisprocedure .................................................................................................. 138 7.3.4 De programmacode ..................................................................................................... 139 7.3.5 Compileren .................................................................................................................. 141 7.3.6 Uittesten ...................................................................................................................... 141

    7.4 Commentaar ................................................................................................................... 141 7.5 Variabelen ...................................................................................................................... 142 7.6 Gegevenstypen in VBA .................................................................................................. 142 7.7 Declareren van variabelen ............................................................................................ 144

    7.7.1 De instructie Dim ........................................................................................................ 144 7.7.2 Persoonlijke variabelen op moduleniveau ................................................................... 144 7.7.3 Declareren is niet verplicht, tenzij... ............................................................................ 145 7.7.4 Statische variabelen ..................................................................................................... 146 7.7.5 Besturingselementen.................................................................................................... 146

    7.8 Het statement Let ........................................................................................................... 146 7.9 Operatoren ..................................................................................................................... 146

    7.9.1 Rekenkundige operatoren ............................................................................................ 146 7.9.2 Operatoren voor tekenreeksen ..................................................................................... 147 7.9.3 Vergelijkingsoperatoren .............................................................................................. 147 7.9.4 Logische operatoren .................................................................................................... 147

    7.10 Help ................................................................................................................................. 147 7.11 Ingebouwde functies ...................................................................................................... 148

    7.11.1 Left .............................................................................................................................. 148 7.11.2 Right ............................................................................................................................ 148 7.11.3 Mid .............................................................................................................................. 148 7.11.4 Len ............................................................................................................................... 148 7.11.5 UCase .......................................................................................................................... 148

  • 6 – Access 2007 2/3

    7.11.6 LCase ........................................................................................................................... 149 7.11.7 Conversiefuncties ........................................................................................................ 149

    7.12 Het venster Direct .......................................................................................................... 149 7.12.1 De waarde van een expressie berekenen ..................................................................... 149 7.12.2 Variabelen een waarde geven ...................................................................................... 149

    7.13 Een functieprocedure .................................................................................................... 150 7.13.1 Sub- en functieprocedures ........................................................................................... 150 7.13.2 Probleemstelling .......................................................................................................... 150 7.13.3 Ontwerp van het scherm .............................................................................................. 150 7.13.4 Oproepen van de functie .............................................................................................. 151 7.13.5 Procedure invoegen ..................................................................................................... 151 7.13.6 Opmerking ................................................................................................................... 152

    7.14 Algemene modules ......................................................................................................... 152 7.14.1 Formulier- en rapportmodules ..................................................................................... 152 7.14.2 Standaardmodule ......................................................................................................... 153 7.14.3 De functie Vervaldatum() in een algemene module plaatsen ...................................... 154

    7.15 De VBE-omgeving .......................................................................................................... 155 7.15.1 Het projectvenster ........................................................................................................ 155 7.15.2 De toetsencombinatie Alt+F11 .................................................................................... 156 7.15.3 Vergroten, verkleinen, verplaatsen, enz. ..................................................................... 156 7.15.4 Ctrl+ ........................................................................................................ 156 7.15.5 Venster splitsen ........................................................................................................... 156 7.15.6 Procedureweergave...................................................................................................... 157 7.15.7 Toetsen in het modulevenster en bij uitvoering ........................................................... 157

    7.16 Het objectenoverzicht .................................................................................................... 158 7.16.1 Collecties en objecten .................................................................................................. 158 7.16.2 Verwijzingen ............................................................................................................... 158 7.16.3 Objectenoverzicht ........................................................................................................ 159 7.16.4 Zoeken ......................................................................................................................... 159

    7.17 Afdrukken van een module ........................................................................................... 160 7.18 Constanten ...................................................................................................................... 160

    7.18.1 Symbolische constanten .............................................................................................. 161 7.18.2 Ingebouwde constanten ............................................................................................... 161

    7.19 Oefeningen ...................................................................................................................... 162 8 CONTROLESTRUCTUREN ................................................................. 165 8.1 Inleiding .......................................................................................................................... 165 8.2 De selectie, een inleidend voorbeeld ............................................................................. 165

    8.2.1 Probleemstelling .......................................................................................................... 165 8.2.2 Programmacode ........................................................................................................... 166

    8.3 Het statement MsgBox en de functie MsgBox()........................................................... 167 8.4 Het If-statement ............................................................................................................. 169

    8.4.1 Syntaxis ....................................................................................................................... 169 8.4.2 Voorbeeld 1 ................................................................................................................. 170 8.4.3 Voorbeeld 2 (Geneste If-structuren) ............................................................................ 170

    8.5 De meervoudige selectie ................................................................................................. 171 8.5.1 Probleemstelling .......................................................................................................... 171 8.5.2 Uitwerking ................................................................................................................... 171

    8.6 Het Select Case-statement ............................................................................................. 172 8.6.1 Syntaxis ....................................................................................................................... 172 8.6.2 Het voorbeeld anders uitgewerkt ................................................................................. 173 8.6.3 Nog een voorbeeld ....................................................................................................... 173

    8.7 De functie InputBox ....................................................................................................... 174 8.8 De iteratie met teller ...................................................................................................... 174

    8.8.1 Probleemstelling .......................................................................................................... 174 8.8.2 Uitwerking ................................................................................................................... 174

    8.9 For/Next-statement ........................................................................................................ 175 8.10 De functies Asc() en Chr() ............................................................................................. 176

    8.10.1 Van ASCII tot ANSI naar UNICODE ......................................................................... 176 8.10.2 De functie Asc() .......................................................................................................... 177 8.10.3 De functie Chr() ........................................................................................................... 177

    8.11 De (gewone) iteratie ....................................................................................................... 177 8.11.1 Probleemstelling .......................................................................................................... 177 8.11.2 Uitwerking ................................................................................................................... 178

  • Inhoudsopgave - 7

    8.12 Do While/Loop en andere lussen .................................................................................. 178 8.13 Enkele datumfuncties .................................................................................................... 179

    8.13.1 De functie Weekday() .................................................................................................. 179 8.13.2 De functie CDate () ..................................................................................................... 180 8.13.3 De functie IsDate() ...................................................................................................... 180

    8.14 De functie Format .......................................................................................................... 180 8.14.1 Syntaxis ....................................................................................................................... 180 8.14.2 Weergave van getallen ................................................................................................ 181 8.14.3 Weergave van tijd en datum ........................................................................................ 183 8.14.4 Opletten met datums in programmacode ..................................................................... 185 8.14.5 Tekenreeksen (strings) ................................................................................................. 185

    8.15 Arrays ............................................................................................................................. 186 8.16 Oefeningen ...................................................................................................................... 186 9 MEER OVER PROCEDURES EN DEBUGGEN ................................... 189 9.1 Inleiding .......................................................................................................................... 189 9.2 Modules en procedures .................................................................................................. 189

    9.2.1 Modules ....................................................................................................................... 189 9.2.2 Procedures ................................................................................................................... 189

    9.3 Subprocedures ................................................................................................................ 189 9.4 Functieprocedures ......................................................................................................... 191 9.5 ByVal of ByRef ............................................................................................................... 192 9.6 Optionele parameters .................................................................................................... 193 9.7 Een array van parameters ............................................................................................. 194 9.8 Het statement For / Each ............................................................................................... 195 9.9 Foutafhandelingsroutines .............................................................................................. 196

    9.9.1 Wat is een foutafhandelingsroutine? ........................................................................... 196 9.9.2 Het begrip faculteit ...................................................................................................... 196 9.9.3 Programmacode ........................................................................................................... 196

    9.10 On Error GoTo .............................................................................................................. 198 9.10.1 Trappable errors .......................................................................................................... 198 9.10.2 Het statement On Error GoTo ..................................................................................... 198 9.10.3 De foutafhandelingsroutine ......................................................................................... 199 9.10.4 Het statement Resume ................................................................................................. 200 9.10.5 Het object Err .............................................................................................................. 200

    9.11 Een bug? ......................................................................................................................... 201 9.12 Een onderbrekingspunt, Stap en Stap over ................................................................. 202

    9.12.1 Een onderbrekingspunt ................................................................................................ 202 9.12.2 De waarde van een variabele ....................................................................................... 202 9.12.3 Het venster Lokale variabelen ..................................................................................... 203 9.12.4 Het venster Direct ........................................................................................................ 203 9.12.5 Stap en Stap over ......................................................................................................... 203 9.12.6 Doorgaan of stoppen.................................................................................................... 204 9.12.7 Verwijderen van een breakpoint .................................................................................. 204

    9.13 Een controle (watch) ...................................................................................................... 204 9.13.1 Een controle toevoegen ............................................................................................... 204 9.13.2 Een controle bewerken ................................................................................................ 205

    9.14 Snelcontrole .................................................................................................................... 205 9.15 Opgeroepen procedures................................................................................................. 206 9.16 Oefeningen ...................................................................................................................... 206 10 VBA IN FORMULIEREN ....................................................................... 211 10.1 Inleiding .......................................................................................................................... 211 10.2 Het formulier frmMedewerker ..................................................................................... 211

    10.2.1 Probleemstelling .......................................................................................................... 211 10.2.2 Macro-acties in VBA ................................................................................................... 211 10.2.3 Waarde van keuzelijst bij gebruik van de navigatieknoppen ....................................... 212 10.2.4 Bij het sluiten van het formulier… .............................................................................. 213 10.2.5 Bevestigen voor verwijderen ....................................................................................... 213

    10.3 Gebeurtenissen bij een formulier ................................................................................. 213 10.3.1 Gebeurtenissen bij het openen van een formulier ........................................................ 213 10.3.2 Gebeurtenissen bij het sluiten van een formulier ......................................................... 214

    10.4 De collectie Forms .......................................................................................................... 214 10.4.1 Definitie en naamgeving .............................................................................................. 214 10.4.2 Werken met collecties ................................................................................................. 215

  • 8 – Access 2007 2/3

    10.5 Het formulier frmTaak.................................................................................................. 216 10.5.1 Probleemstelling .......................................................................................................... 216 10.5.2 Aanmaken van het formulier ....................................................................................... 216 10.5.3 Requery ....................................................................................................................... 218 10.5.4 Instellen eigenschappen van enkele besturingselementen ........................................... 219 10.5.5 Controle van de gegevens in het hoofdformulier ......................................................... 219 10.5.6 Controle voor het bijwerken van een besturingselement ............................................. 221 10.5.7 Het subformulier sfrmToewijzingen............................................................................ 223 10.5.8 Het subformulier sfrmActiviteiten ............................................................................... 223 10.5.9 Keuzelijsten om een taak te selecteren ........................................................................ 224

    10.6 Een tip bij het editeren .................................................................................................. 225 10.7 Oefeningen ...................................................................................................................... 225 11 VBA IN FORMULIEREN / 2 .................................................................. 229 11.1 Inleiding .......................................................................................................................... 229 11.2 Het formulier frmAanmelden ....................................................................................... 229

    11.2.1 Probleemstelling .......................................................................................................... 229 11.2.2 Aanmaken van het formulier ....................................................................................... 229 11.2.3 De knop Annuleren...................................................................................................... 230 11.2.4 De knop OK................................................................................................................. 230 11.2.5 Modulevariabele .......................................................................................................... 231 11.2.6 Bijkomend onzichtbaar tekstvak ................................................................................. 232 11.2.7 Het formulier als startscherm instellen ........................................................................ 232

    11.3 Het formulier frmTakenOverzicht ............................................................................... 233 11.3.1 Probleemstelling .......................................................................................................... 233 11.3.2 Ontwerp van de basisquery ......................................................................................... 233 11.3.3 Ontwerp van het formulier .......................................................................................... 234 11.3.4 Recordbron dynamisch aanpassen ............................................................................... 238 11.3.5 Bij het sluiten............................................................................................................... 239 11.3.6 De puntjesknop cmdDetail .......................................................................................... 240 11.3.7 Aanpassen van het formulier frmTaak ........................................................................ 240

    11.4 Het formulier frmHoofdmenu ...................................................................................... 241 11.5 Een medewerker toevoegen vanuit het formulier frmTaak ....................................... 241

    11.5.1 Probleemstelling .......................................................................................................... 241 11.5.2 Ontwerp van het formulier .......................................................................................... 241 11.5.3 De keuzelijst bijwerken ............................................................................................... 242

    11.6 De gebeurtenis Bij niet in lijst ....................................................................................... 242 11.7 Een dialoogvenster ......................................................................................................... 243

    11.7.1 Probleemstelling .......................................................................................................... 243 11.7.2 Ontwerp van het formulier frmActiviteit ..................................................................... 243 11.7.3 Programmacode in frmActiviteit ................................................................................. 244 11.7.4 Openen als dialoogvenster ........................................................................................... 244 11.7.5 Pop-up en Modaal ....................................................................................................... 245

    11.8 Knopinfo (ControlTipText) ........................................................................................... 245 11.9 Oefeningen ...................................................................................................................... 245 12 VBA IN RAPPORTEN .......................................................................... 249 12.1 Inleiding .......................................................................................................................... 249 12.2 Het rapport rptTakenOverzicht ................................................................................... 249

    12.2.1 Probleemstelling .......................................................................................................... 249 12.2.2 Ontwerp van het rapport .............................................................................................. 250 12.2.3 Formulier met criteria .................................................................................................. 252 12.2.4 Bij het openen van het rapport ..................................................................................... 253 12.2.5 Formulier geopend? ..................................................................................................... 256 12.2.6 Het rapport openen vanuit het menu ............................................................................ 257

    12.3 Het rapport rptTaken .................................................................................................... 258 12.3.1 Probleemstelling .......................................................................................................... 258 12.3.2 Ontwerp van de basisquery ......................................................................................... 258 12.3.3 Ontwerp van het rapport .............................................................................................. 260 12.3.4 Formulier met criteria .................................................................................................. 262 12.3.5 Het rapport oproepen vanuit frmTaak ......................................................................... 263

    12.4 Bij Geen gegevens .......................................................................................................... 264 12.5 De methoden Maximize en Restore .............................................................................. 266 12.6 Oefeningen ...................................................................................................................... 266 TREFWOORDENREGISTER .......................................................................... 269