Afspraken vet voor- beeldenmap oefe- ningenmap



Vergelijkbare documenten
Afspraken vet voor- beeldenmap oefeningenmap

2/3 OFFICE 2007 ACCESS. Roger Frans. campinia media vzw

INLEIDING... 1 A FSPRAKEN... 2 INHOUDSOPGAVE...

De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt genoteerd.

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.

INLEIDING... 1 A FSPRAKEN... 2 INHOUDSOPGAVE...

Access Gevorderden (JET) Roger Frans. met cd-rom. campinia media

Afspraken. Dit moet je letterlijk intypen.

Afspraken. Typ Dit moet je letterlijk intypen.

Afspraken vet voorbeeldenmap oefeningenmap

Access /3. Roger Frans. met cd-rom. campinia media vzw

De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt genoteerd.

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.

Afspraken vet voorbeeldenmap oefeningenmap

Je vindt in de startmap ook het bestand Appendix Excel pdf. Het bestand

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.

Microsoft. Roger Frans

Access Beginners. Roger Frans. met cd-rom. campinia media

OFFICE 2007 EXCEL. Roger Frans. campinia media vzw

ROGER FRANS. met cd. Conform module Rekenblad 3 van het leerplan INFORMATICA-TOEPASSINGSSOFTWARE voor het volwassenenonderwijs

Access 2000 gevorderden

Access 2000 beginners

Excel 2000 gevorderden

Excel Gevorderden. Roger Frans. met cd-rom

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE...

Afspraken vet voorbeeldenmap oefe- ningenmap

INHOUDSOPGAVE Ms Access 2007

OFFICE 2007 ACCESS. Roger Frans. campinia media vzw

Access 97 gevorderden

Inhoudsopgave. Module 2 Geavanceerde formulieren

Afspraken. Typ Dit moet je letterlijk intypen in het tekstvak Naam.

Inleiding. Roger Frans oktober Inleiding - 1

Afspraken. Typ Dit moet je letterlijk intypen.

INHOUDSOPGAVE Ms Access 2010

Visual Basic 6.0 beginners

Afspraken vet voorbeeldenmap oefeningenmap

Access. Module 0. Access, versie 97 (UK) Nummer: 012 ( ) The Courseware Company

MS Access. Module 0. Pakketnaam, versie 2002 (NL) Nummer: 296 ( ) The Courseware Company

INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE...

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 256 ( ) The Courseware Company

Hoofdstuk 2 Basiskennis Muistechnieken Windows Explorer

campinia media cvba-vso

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 257 ( ) The Courseware Company

Klantendatabase aanmaken

MS Access. Module 0. MS Access, versie 97 (NL) Nummer: 237 ( ) The Courseware Company

OFFICE A LA CARTE - ACCESS 2013

Info-books. Toegepaste Informatica. Deel 3d: Gegevensbeheer met Access Boekhouden-informatica Informaticabeheer. BI3d. Jos Gils Erik Goossens

[Microsoft Access 2007 Een eigen database maken] 16 oktober 2009

Access Gevorderden (SQL server) Roger Frans. met cd-rom

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.

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.

Afspraken. Typ Dit moet je letterlijk intypen in het tekstvak Naam.

Normaliseren van tabellen Praktische oefeningen

Inhoud. VBA Excel 2010

Kassaformulier aanmaken

ADVANCED DATABASES Syllabus versie 2.0

2/3 OFFICE 2007 EXCEL. Roger Frans. campinia media vzw

Opleidingscatalogus: Automatisering

Macro s. 4.2 Een macro maken

Afspraken vet start- map oplos- singenmap

Word 3/3. roger frans

Afspraken. Typ Dit moet je letterlijk intypen.

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE

Normaliseren van tabellen Praktische oefeningen

VAN HET PROGRAMMEREN. Inleiding

INHOUD. Ten geleide Excel Basis 15

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Visual Studio NET Framework 2.0. campinia media vzw

Macro's in OpenOffice.org

Inhoud Basiscursus. Access 2010 NL-NL

Programmeren in Excel 2016 met VBA

Excel /3. Roger Frans. met cd-rom. campinia media cvba-vso

3.4 Een Hoofd/subformulier maken zonder de hulp van de wizard.

Artikelbeheer aanmaken

Info-books. Toegepaste Informatica. Handleiding. Deel 40c : Gegevensbeheer en algoritmen in Access. HA40c. Jos Gils Erik Goossens

Nummer: 011 ( ) The Courseware Company

module Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008

6.2 VBA Syntax. Inleiding Visual Basic

1 Access 2013, wat kunt u ermee? 1. De elektronische kaartenbak 2 Formulieren 4 Rapporten 6 Tabellen, records en velden 7.

Handleiding Access 2010

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.

Migreren naar Access 2010

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

6.3 VBA Syntax Instructie. Wij gaan de Visual Basic Editor opnieuw openen, om de instructie die wij zojuist getypt hebben, nader te bekijken.

INHOUDSOPGAVE. Inhoudsopgave

Afspraken. Je vindt in de startmap ook een bijkomend hoofdstuk m.b.t. de installatie van Microsoft Office 2016 en Word (zie Appendix Word pdf).

Databases gebruiken. Databases gebruiken

Outlook Roger Frans. met cd-rom. campinia media cvba-vso

OFFICE 2007 OUTLOOK. Roger Frans. campinia media vzw

4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen.

ECDL / ICDL Module 5, Databases Advanced Level Versie 1.0. Voorbeeldexamen module 5 (AM5), Advanced Level

Programmeren in Access met VBA

Inhoudsopgave. Hoofdstuk 1: Beginnen met Access Hoofdstuk 2: Database SNOEP verkennen Voorwoord...9. Inhoudsopgave 3

Trainingsomschrijving Excel 97 / 2000 / 2003 NL

Programmeren in Access 2016 met VBA

9.19 Macro s: oefeningen

Informatie & Databases

Het Gegevensmodel en draaitabellen in Excel 2013 (tip 193)

Leren programmeren met

Transcriptie:

Inleiding In het boek Access 2013 1/3 zijn de basisbegrippen van Access aan bod gekomen. Je hebt leren werken met 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 juiste gegevens in de juiste tabellen plaatst. In dit tweede deel, Access 2013 2/3, leren we in eerste instantie hoe je een toepassing ontwikkelt. We vertrekken van een concreet probleem, normaliseren de gegevens en stellen een gegevensmodel op. Vervolgens vertalen we dit gegevensmodel naar Access. We maken de tabellen aan en bespreken hierbij de verschillende gegevenstypen en veldeigenschappen. We brengen de relaties aan die tussen de tabellen bestaan. We importeren gegevens uit bestanden die afkomstig zijn uit diverse 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 diverse voorbeelden. We geven in dit boek ook voorbeelden van meer complexe formulieren en rapporten. Bij het ontwerp hiervan zal je merken dat macro s dikwijls ontoereikend zijn. Indien je een grotere 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 concrete voorbeelden. Access 2013 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 horen een aantal voorbeeldbestanden. Je kan deze downloaden op de website van de uitgeverij (zie volgende pagina, onder Afspraken). Je vindt er ook een appendix met enkele bijkomende hoofdstukken: Macro s in rapporten Een navigatieformulier maken Arrays Afspraken m.b.t. naamgeving Lokale helpschermen Er wordt in de tekst verwezen naar deze hoofdstukken. Je hoeft de hoofdstukken niet door te nemen om de cursus verder te volgen. Het is een uitbreiding op het cursusmateriaal. 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 inzicht geeft in het maken van toepassingen in Access. Opmerkingen die een latere uitgave kunnen verbeteren zijn welkom. Roger Frans november 2014

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 genoteerd. Klik op de knop Tabelontwerp in de groep Tabellen. Het pijltje geeft aan dat er iets van je verwacht wordt. Na het pijltje wordt omschreven wat je moet doen. Nieuwe begrippen worden vet afgedrukt. Namen van groepen, opdrachten, enz. worden schuin afgedrukt. Indien je tekst letterlijk moet ingeven, wordt dit in een ander lettertype weergegeven: Dit moet je letterlijk intypen. Je kan de voorbeeld- en oefenbestanden downloaden op de website van de uitgeverij van dit boek, Campinia Media. Surf naar http://www.campiniamedia.be. Klik op Fondslijst. Typ Access 2013 in het zoekvak en klik op Zoek. Selecteer het boek door op de naam van het boek te klikken. Je ziet bij de beschrijving van het boek een sectie Downloads. Je vindt er enkele zip-bestanden. Zip-bestanden kunnen meerdere bestanden groeperen. Download de voorbeeldbestanden door op de koppeling Voorbeelden Access 2013-2.zip te klikken. Je volgt verder de instructies van je browser om het bestand op te slaan. Daarna pak je het bestand uit. Je kan dit bv. doen door in het linkerdeel van Verkenner op het bestand te klikken en de bestanden in het rechterdeel naar een map te kopiëren. Je plaatst de bestanden in de map Ac2013_2_Vbn, bv. onder de map Mijn Documenten. De map bevat bestanden die je nodig hebt om de voorbeelden en oefeningen in deze cursus te maken. We noemen deze map verder de voorbeeldenmap. De voorbeelden en oefeningen die je in deze cursus zelf uitwerkt, plaats je in een map met de naam Ac2013_2_Oef. We spreken in het boek van de oefeningenmap. Je vindt in de map Ac2013_2_Na de uitwerkingen van de voorbeelden 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.

Inhoudsopgave INLEIDING... 1 AFSPRAKEN... 2 INHOUDSOPGAVE... 3 1 NORMALISEREN VAN GEGEVENS... 11 1.1 Inleiding... 11 1.2 Relational database management system (RDBMS)... 11 1.2.1 Wat is een database?... 11 1.2.2 Wat is een database management system (DBMS)?... 12 1.2.3 Wat is een relational database management system?... 12 1.3 Een toepassing: Kassa... 13 1.3.1 Inleiding... 13 1.3.2 Probleemomschrijving... 13 1.3.3 Concretisering... 13 1.3.4 Vragen naar voorbeelden... 13 1.4 Een gegevensmodel... 14 1.4.1 Een informatiebehoefte... 14 1.4.2 Gegevensanalyse... 14 1.4.3 Waarom niet in één tabel?... 15 1.5 Normaliseren... 15 1.6 De eerste normaalvorm... 15 1.6.1 De eerste normaalvorm... 15 1.6.2 Inventariseer alle elementaire gegevens (stap 1.1)... 16 1.6.3 Elementaire gegevens... 17 1.6.4 Verwijder alle procesgegevens (stap 1.2)... 17 1.6.5 Een primaire sleutel kiezen (stap 1.4)... 18 1.6.6 Deelverzamelingen opzoeken die meermaals voorkomen (stap 1.5).... 19 1.6.7 Een nieuwe groep maken (stap 1.6)... 19 1.6.8 De zich herhalende deelverzameling verwijderen (Stap 1.7)... 20 1.6.9 De stappen 1.3 tot 1.8 zijn herhalend... 20 1.7 De tweede normaalvorm... 21 1.7.1 De tweede normaalvorm... 21 1.7.2 Het begrip functionele afhankelijkheid... 21 1.7.3 Functionele afhankelijkheden in ons voorbeeld... 22 1.8 De derde normaalvorm... 23 1.9 Andere normaalvormen... 24 1.10 Koppelingen tussen groepen... 24 1.10.1 Groepen of entiteittypen... 24 1.10.2 Koppelingen of relaties... 24 1.10.3 Gegevensstructuurdiagram of gegevensmodel... 26 1.11 Oefeningen... 26 2 AANMAKEN DATABASE... 27 2.1 Inleiding... 27 2.2 Aanmaken van de database... 27 2.3 Aanmaken van de tabellen... 28 2.3.1 Creëren van een tabel... 28 2.3.2 Naamgeving... 28

4 Access 2013 2/3 2.4 Een tabel maken vanuit ontwerpweergave... 28 2.4.1 Veldnaam...29 2.4.2 Gegevenstype...29 2.4.3 Beschrijving...32 2.4.4 Overige velden ingeven...32 2.4.5 Een primaire sleutel...32 2.4.6 Ontwerp bewaren...32 2.5 Veldeigenschappen... 33 2.5.1 Structuur van de tabel bewerken...33 2.5.2 Veldlengte...33 2.5.3 Notatie...34 2.5.4 Aantal decimalen...34 2.5.5 Invoermasker...35 2.5.6 Bijschrift...35 2.5.7 Standaardwaarde...35 2.5.8 Validatieregel...35 2.5.9 Validatietekst...36 2.5.10 Vereist...36 2.5.11 Lengte nul toestaan...36 2.5.12 Geïndexeerd...36 2.5.13 Unicode-compressie...37 2.5.14 IME-modus en IME-zinmodus...37 2.5.15 Tekstuitlijning...37 2.5.16 Meer veldeigenschappen...37 2.6 Gegevens uit Word gebruiken... 37 2.7 Importeren van gegevens uit Excel... 38 2.8 Importeren van gegevens uit een tekstbestand... 43 2.8.1 De gegevens bevatten scheidingstekens...43 2.8.2 De gegevens hebben een vaste breedte...46 2.9 Gegevens importeren uit een ander Access-bestand... 48 2.10 Meer over veldeigenschappen... 49 2.10.1 De veldeigenschap Notatie bij een veld met gegevenstype Datum49 2.10.2 De veldeigenschap Datumkiezer weergeven...50 2.10.3 Bijkomende aanpassingen in het ontwerp van tblverkopen...50 2.10.4 Het tabblad Opzoeken in de ontwerpweergave van een tabel...51 2.10.5 Uittesten in gegevensbladweergave...53 2.10.6 Uittesten datumnavigator...53 2.11 Aanmaken van de relaties... 54 2.12 Jointype... 57 2.13 Uittesten van de instellingen... 58 2.13.1 Subgegevensbladen...58 2.13.2 Toevoegen verkoop voor een onbestaande dienst...59 2.13.3 Verwijderen van een verkoop...59 2.13.4 Verwijderen van een artikel...60 2.14 Eigenschappen op het niveau van een tabel... 60 2.15 Oefeningen... 62 3 GEAVANCEERDE QUERY S... 63 3.1 Inleiding... 63 3.2 Beveiligingswaarschuwing... 63 3.2.1 Beveiligingswaarschuwing...63 3.2.2 Vertrouwde locaties...64 3.3 Eenvoudige selectiequery s... 66 3.4 Joins... 68 3.4.1 Een inner join...68 3.4.2 Outer join...69

Inhoudsopgave - 5 3.5 Statistische selectiequery s... 71 3.5.1 Berekenen van totalen... 71 3.5.2 Mogelijke functies... 73 3.6 Actiequery s... 74 3.7 Een tabel bijwerken... 74 3.7.1 Gegevens bijwerken op basis van een bepaalde waarde... 74 3.7.2 Gegevens bijwerken op basis van een formule... 76 3.8 Tabelmaakquery s... 77 3.9 Een verwijderquery... 79 3.9.1 Conflict oplossen... 79 3.9.2 Relatie aanpassen... 81 3.10 Een toevoegquery... 82 3.11 Kruistabelquery s... 83 3.11.1 Een kruistabel maken vanuit het queryontwerpvenster... 83 3.11.2 Een kruistabel maken met een wizard... 85 3.11.3 Het ontwerp van een kruistabel aanpassen... 89 3.12 Wizard Dubbele records... 90 3.12.1 Aanmaken Wizard Dubbele records... 90 3.12.2 Ontwerpweergave... 91 3.13 Samenvoegquery s (Union query s)... 92 3.13.1 Een samenvoegquery maken in de grafische omgeving... 92 3.13.2 Een samenvoegquery rechtstreeks intypen... 94 3.14 Pass Through-query... 95 3.15 Definitiequery... 95 3.16 Eigenschappen van een query... 95 3.16.1 Unieke waarden en unieke records... 95 3.16.2 Unieke records bij een verwijderquery... 97 3.17 Oefeningen... 98 4 MACRO S 1... 101 4.1 Inleiding... 101 4.2 Formulierweergaven... 101 4.3 Het hoofdmenu, een onafhankelijk formulier... 102 4.3.1 Instellingen op het niveau van het formulier...102 4.3.2 Een opdrachtknop toevoegen m.b.v. een wizard...103 4.3.3 Een ingesloten macro...105 4.3.4 Een opdrachtknop toevoegen zonder wizard...107 4.3.5 Een afbeelding invoegen...108 4.4 Een macro maken... 109 4.4.1 Het formulier Opbouwfunctie voor macro s...109 4.4.2 De actie FormulierOpenen (OpenForm)...110 4.4.3 Macro opslaan...111 4.5 Macro uitvoeren... 111 4.5.1 Macro uitvoeren vanuit het venster Opbouwfunctie voor macro s111 4.5.2 Macro uitvoeren vanuit het navigatievenster...112 4.5.3 Macro starten vanuit een formulier...112 4.6 Acties toevoegen vanuit de actiecatalogus... 113 4.6.1 Dubbelklikken op een actie of slepen...113 4.6.2 Zoeken naar een actie...114 4.6.3 Een macro om de database af te sluiten...114 4.7 Een gebruiker selecteren uit een keuzelijst... 115 4.7.1 Aanmaken van de keuzelijst...115 4.7.2 Aanmaken van de macro...118 4.7.3 Synchroniseren van de keuzelijst met de detailsectie...119 4.8 Synchroniseren van twee keuzelijsten... 120

6 Access 2013 2/3 4.9 Stap voor stap uitvoeren van een macro... 122 4.10 Oefeningen... 123 5 MACRO S 2... 125 5.1 Inleiding... 125 5.2 Een hoofd- en subformulier volledig zelf ontwerpen... 125 5.2.1 Aanmaken van het hoofdformulier...125 5.2.2 Aanmaken van het subformulier...129 5.2.3 Subformulier invoegen in het hoofdformulier...131 5.3 Een groepsvak... 132 5.4 Een waarde toekennen aan een veld, eigenschap,...... 134 5.4.1 Een waarde toekennen aan een besturingselement...134 5.4.2 Een waarde toekennen aan een veld...135 5.4.3 Een waarde toekennen aan een eigenschap...135 5.5 Voorwaarden in een macro... 137 5.6 De macro AutoExec... 140 5.7 Opties voor Access... 141 5.8 Macro s in rapporten... 142 5.9 Oefeningen... 143 6 KOPPELINGSBEHEER... 145 6.1 Inleiding... 145 6.2 Wizard Database Splitsen... 145 6.2.1 Tabellen scheiden van de andere objecten...145 6.2.2 Wizard Database Splitsen...145 6.3 Manueel splitsen van een database... 147 6.3.1 Toepassingsdatabase en gegevensdatabase maken...147 6.3.2 Koppelen tabellen...148 6.3.3 De koppelingen vernieuwen...148 6.4 Oefeningen... 150 7 DE SYNTHESEMETHODE... 151 7.1 Inleiding... 151 7.2 Het voorbeeld Taken... 151 7.2.1 Probleemomschrijving...151 7.2.2 Concretisering...151 7.3 Het gegevensmodel... 152 7.4 De database Taken... 153 7.4.1 De database Taken.accdb...153 7.4.2 De relaties aanmaken...154 7.5 Veldeigenschappen... 155 7.5.1 Het invoermasker Wachtwoord...155 7.5.2 Bijschrift...156 7.5.3 Vereist en Lengte nul toestaan...156 7.5.4 Geïndexeerd...156 7.6 Programmeren in Visual Basic for Applications... 156 7.7 Oefeningen... 156 8 INLEIDING TOT VISUAL BASIC FOR APPLICATIONS... 157 8.1 Inleiding... 157 8.2 Een macro converteren naar Visual Basic... 157 8.3 Een voorbeeld van een subprocedure... 159 8.3.1 Probleemstelling...159 8.3.2 Ontwerp van het scherm...159 8.3.3 Gebeurtenisprocedure...160 8.3.4 De programmacode...161

Inhoudsopgave - 7 8.3.5 Compileren...163 8.3.6 Uittesten...163 8.4 Commentaar... 164 8.5 Variabelen... 164 8.6 Gegevenstypen in VBA... 164 8.7 Help... 166 8.8 Declareren van variabelen... 167 8.8.1 De instructie Dim...167 8.8.2 Persoonlijke variabelen op moduleniveau...167 8.8.3 Declareren is niet verplicht, tenzij......168 8.8.4 Statische variabelen...169 8.8.5 Besturingselementen...169 8.9 Het statement Let... 169 8.10 Operatoren... 169 8.10.1 Rekenkundige operatoren...169 8.10.2 Operatoren voor tekenreeksen...170 8.10.3 Vergelijkingsoperatoren...170 8.10.4 Logische operatoren...170 8.11 Ingebouwde functies... 170 8.11.1 Left()...170 8.11.2 Right()...171 8.11.3 Mid()...171 8.11.4 Len()...171 8.11.5 UCase()...171 8.11.6 LCase()...172 8.11.7 Conversiefuncties...172 8.12 Het venster Direct... 172 8.12.1 De waarde van een expressie berekenen...172 8.12.2 Variabelen een waarde geven...172 8.13 Een functieprocedure... 173 8.13.1 Sub- en functieprocedures...173 8.13.2 Probleemstelling...173 8.13.3 Ontwerp van het scherm...173 8.13.4 Oproepen van de functie...174 8.13.5 Procedure invoegen...174 8.13.6 Opmerking...175 8.14 Algemene modules... 175 8.14.1 Formulier- en rapportmodules...175 8.14.2 Standaardmodule...176 8.14.3 De functie Vervaldatum() in een algemene module plaatsen...177 8.15 De VBE-omgeving... 178 8.15.1 Het projectvenster...178 8.15.2 De toetsencombinatie Alt+F11...179 8.15.3 Vergroten, verkleinen, verplaatsen, enz....179 8.15.4 Ctrl+<spatiebalk>...179 8.15.5 Venster splitsen...180 8.15.6 Procedureweergave...180 8.15.7 Toetsen in het modulevenster en bij uitvoering...180 8.16 Het objectenoverzicht... 181 8.16.1 Collecties en objecten...181 8.16.2 Verwijzingen...181 8.16.3 Objectenoverzicht...182 8.16.4 Zoeken...183 8.17 Afdrukken van een module... 184

8 Access 2013 2/3 8.18 Constanten... 184 8.18.1 Symbolische constanten...184 8.18.2 Ingebouwde constanten...185 8.19 Oefeningen... 185 9 CONTROLESTRUCTUREN... 189 9.1 Inleiding... 189 9.2 De selectie, een inleidend voorbeeld... 189 9.2.1 Probleemstelling...189 9.2.2 Programmacode...190 9.3 Het statement MsgBox en de functie MsgBox()... 191 9.4 Het If-statement... 193 9.4.1 Syntaxis...193 9.4.2 Voorbeeld 1...194 9.4.3 Voorbeeld 2 (Geneste If-structuren)...194 9.4.4 Andere vormen van het If-statement...195 9.5 De meervoudige selectie... 195 9.5.1 Probleemstelling...195 9.5.2 Uitwerking...195 9.6 Het Select Case-statement... 196 9.6.1 Syntaxis...196 9.6.2 Het voorbeeld anders uitgewerkt...197 9.6.3 Nog een voorbeeld...197 9.7 De functie InputBox()... 198 9.8 De iteratie met teller... 198 9.8.1 Probleemstelling...198 9.8.2 Uitwerking...198 9.9 For/Next-statement... 199 9.10 De functies Asc() en Chr()... 200 9.10.1 Van ASCII tot ANSI naar UNICODE...200 9.10.2 De functie Asc()...201 9.10.3 De functie Chr()...201 9.11 De (gewone) iteratie... 202 9.11.1 Probleemstelling...202 9.11.2 Uitwerking...202 9.12 Do While/Loop en andere lussen... 203 9.13 Enkele datumfuncties... 203 9.13.1 De functie Weekday()...203 9.13.2 De functie CDate()...204 9.13.3 De functie IsDate()...204 9.14 De functie Format... 205 9.14.1 Syntaxis...205 9.14.2 Weergave van getallen...205 9.14.3 Weergave van tijd en datum...208 9.14.4 Opletten met datums in programmacode...210 9.14.5 Tekenreeksen (strings)...210 9.15 Arrays... 211 9.16 Oefeningen... 211 10 MEER OVER PROCEDURES EN DEBUGGEN... 215 10.1 Inleiding... 215 10.2 Modules en procedures... 215 10.2.1 Modules...215 10.2.2 Procedures...215 10.3 Subprocedures... 215

Inhoudsopgave - 9 10.4 Functieprocedures... 217 10.5 ByVal of ByRef... 218 10.6 Optionele parameters... 219 10.7 Een array van parameters... 220 10.8 Het statement For / Each... 221 10.9 Foutafhandelingsroutines... 222 10.9.1 Wat is een foutafhandelingsroutine?...222 10.9.2 Het begrip faculteit...222 10.9.3 Programmacode...222 10.10 On Error GoTo... 224 10.10.1 Trappable errors...224 10.10.2 Het statement On Error GoTo...225 10.10.3 De foutafhandelingsroutine...225 10.10.4 Het statement Resume...226 10.10.5 Het object Err...227 10.11 Een bug?... 227 10.12 Een onderbrekingspunt, Stap en Stap over... 228 10.12.1 Een onderbrekingspunt...228 10.12.2 De waarde van een variabele...229 10.12.3 Het venster Lokale variabelen...229 10.12.4 Het venster Direct...229 10.12.5 Stap en Stap over...230 10.12.6 Doorgaan of stoppen...230 10.12.7 Verwijderen van een breakpoint...230 10.13 Een controle (watch)... 231 10.13.1 Een controle toevoegen...231 10.13.2 Een controle bewerken...232 10.14 Snelcontrole... 232 10.15 Opgeroepen procedures... 233 10.16 Een tip bij het editeren... 233 10.17 Oefeningen... 234 11 VBA IN FORMULIEREN 1... 237 11.1 Inleiding... 237 11.2 Het formulier frmmedewerker... 237 11.2.1 Probleemstelling...237 11.2.2 Macro-acties in VBA...237 11.2.3 Waarde van keuzelijst bij gebruik van de navigatieknoppen...238 11.2.4 Bij het sluiten van het formulier...239 11.3 Gebeurtenissen bij een formulier... 239 11.3.1 Gebeurtenissen bij het openen van een formulier...239 11.3.2 Gebeurtenissen bij het sluiten van een formulier...240 11.4 De collectie Forms... 240 11.4.1 Definitie en naamgeving...240 11.4.2 Werken met collecties...240 11.5 Het formulier frmtaak... 242 11.5.1 Probleemstelling...242 11.5.2 Aanmaken van het formulier...242 11.5.3 Requery...244 11.5.4 Instellen eigenschappen van enkele besturingselementen...245 11.5.5 Controle van de gegevens in het hoofdformulier...245 11.5.6 Controle voor het bijwerken van een besturingselement...247 11.5.7 Het subformulier sfrmtoewijzingen...249 11.5.8 Het subformulier sfrmactiviteiten...249 11.5.9 Keuzelijsten om een taak te selecteren...250

10 Access 2013 2/3 11.6 Oefeningen... 251 12 VBA IN FORMULIEREN 2... 255 12.1 Inleiding... 255 12.2 Het formulier frmaanmelden... 255 12.2.1 Probleemstelling...255 12.2.2 Aanmaken van het formulier...256 12.2.3 De knop Annuleren...256 12.2.4 De knop OK...256 12.2.5 Modulevariabele...257 12.2.6 Bijkomend onzichtbaar tekstvak...258 12.2.7 Het formulier als startscherm instellen...258 12.3 Het formulier frmtakenoverzicht... 259 12.3.1 Probleemstelling...259 12.3.2 Ontwerp van de basisquery...259 12.3.3 Ontwerp van het formulier...261 12.3.4 Recordbron dynamisch aanpassen...264 12.3.5 Bij het sluiten...266 12.3.6 De puntjesknop cmddetail...266 12.3.7 Aanpassen van het formulier frmtaak...267 12.4 Het formulier frmhoofdmenu... 268 12.5 Een medewerker toevoegen vanuit het formulier frmtaak... 268 12.5.1 Probleemstelling...268 12.5.2 Ontwerp van het formulier...268 12.5.3 De keuzelijst bijwerken...269 12.5.4 De gebeurtenis Bij niet in lijst...269 12.6 Een dialoogvenster... 270 12.6.1 Probleemstelling...270 12.6.2 Pop-up en Modaal...270 12.6.3 Ontwerp van het formulier frmactiviteit...271 12.6.4 Programmacode in frmactiviteit...271 12.7 Knopinfo (ControlTipText)... 272 12.8 Oefeningen... 273 13 VBA IN RAPPORTEN... 275 13.1 Inleiding... 275 13.2 Het rapport rpttakenoverzicht... 275 13.2.1 Probleemstelling...275 13.2.2 Ontwerp van het rapport...276 13.2.3 Formulier met criteria...278 13.2.4 Bij het openen van het rapport...279 13.2.5 Formulier geopend?...282 13.2.6 Het rapport openen vanuit een formulier...283 13.3 Het rapport rpttaken... 284 13.3.1 Probleemstelling...284 13.3.2 Ontwerp van de basisquery...284 13.3.3 Ontwerp van het rapport...286 13.3.4 Formulier met criteria...288 13.3.5 Het rapport oproepen vanuit frmtaak...290 13.4 Bij Geen gegevens... 291 13.5 De methoden Maximize en Restore... 292 13.6 Oefeningen... 293 TREFWOORDENREGISTER... 295