MS Access 2007 – Gevorderd

Transcription

MS Access 2007 – Gevorderd
MS Access 2007 – Gevorderd
Deze handleiding is geen eindeloze opsomming van functies en mogelijkheden, maar is kort gehouden en probeert u op een intuïtieve manier, het pakket stapsgewijs en ‘to the point’ te leren kennen.
Bijgaand vindt u alleen de tekst van de eerste 2 hoofdstukken. U bent vrij deze tekst te downloaden, te kopiëren
en te verspreiden om te bestuderen.
Bevalt onze manier van onderwijzen en wilt u de volledige handleiding in bezit krijgen, maak dan:
€ 30,over op rekening:
NL03ABNA0442103808 t.n.v. CTS/Advies te Amsterdam
Vermeld bij de overschrijving de titel “MS Access 2007 - gevorderd” en uw e-mailadres. Wij zenden u dan
per email een bestand met de tekst van de volledige handleiding die u zelf kan uitprinten en een folder met alle
voorbeelden en oefenbestanden.
Het volledig eigen maken van de stof van deze handleiding zal toch een behoorlijk aantal uren studie van u
vereisen. Gaat zelfstudie u te veel tijd kosten? Bedenk dan, dat de gehele inhoud van deze handleiding u ook
door een docent, in een cursus van een dag, onderwezen kan worden, met daarbij vele voorbeelden uit de praktijk en direct toegesneden op uw eigen werk. Bespreekt het eens met uw baas. Uw tijd is zijn geld. Weet u bovendien een groepje samen te stellen dan wordt het nog goedkoper. Ook kunt u bij ons ondersteuning krijgen
bij het samenstellen van documenten en het maken van sjablonen en macro’s:
klassikaal les vanaf € 150,-/persoon/dag, werkplekbegeleiding € 75,- /uur, privéles € 550,-/dag
Bel voor meer informatie, een prijsopgaaf of het stellen van vragen:
+31(0)20-6248070.
Het is uiteraard niet toegestaan de inhoud van handleiding in zijn geheel of in gedeelten met een commercieel
doel te gaan verhandelen.
C.T. Scheublin
©
CTS/Advies: 22 augustus 2014
Niets uit deze handleiding mag gekopieerd of anderszins vermenigvuldig of gepubliceerd worden,
zonder toestemmen van de auteur:
CTS/Advies
Amstelveenseweg 114-2
1075 XK Amsterdam
020-6248070
[email protected]
www.ctsadvies.nl
Inhoudsopgave
1.
HERHALINGSOEFENING
7
2.
ACTIEQUERY’S
9
2.1
2.2
2.3
2.4
2.5
De Bijwerkquery [Update query]
De Tabelmaakquery [Make Tabel query]
De verwijder query [Delete Query]
De Toevoegquery [Append query]
Actiequries: oefeningen
3.
HOOFD/SUBFORMULIER
3.1
3.2
3.3
3.4
Een Hoofd/subformulier maken met de knop ‘Formulier.
Een Hoofd/subformulier maken met behulp van de wizard.
Een Hoofd/subformulier maken zonder de hulp van de wizard.
Hoofd/subformulier: oefeningen
4.
MACRO’S
4.1
4.2
4.3
4.4
4.5
4.6
Een macro maken
Een macro koppelen aan een gebeurtenis in een formulier
Het gebruik van macro-namen
Problemen oplossen bij macro’s
Zoekmacro
Macro’s: oefeningen
5.
HOOFDSCHAKELFORMULIER
5.1
5.2
5.3
Een standaardhoofdschakelbord instellen
Een formulier als hoofdschakelformulier.
Hoofschakelformulier: oefeningen
6.
INLEIDING VISUAL BASIC
6.1
6.2
6.3
6.4
6.5
6.6
6.7
6.8
6.9
6.10
Een knop met Visual Basic code
Instructies op een moduleblad
Sub-procedure:
Condities invoegen
Het gebruik van een matrix
Het definiëren van constanten
Objectenoverzicht
Een procedure testen
Een procedure aanroepen
Inleiding Visual Basic: oefeningen
9
11
12
13
17
19
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
FOUT! BLADWIJZER NIET GEDEFINIEERD.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
FOUT! BLADWIJZER NIET GEDEFINIEERD.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
FOUT! BLADWIJZER NIET GEDEFINIEERD.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
Fout! Bladwijzer niet gedefinieerd.
7.
MACRO ACTIES
FOUT! BLADWIJZER NIET GEDEFINIEERD.
8.
VBA-GEBEURTENISSEN
FOUT! BLADWIJZER NIET GEDEFINIEERD.
9.
VBA-CONSTANTEN
FOUT! BLADWIJZER NIET GEDEFINIEERD.
10.
EVALUATIEFORMULIER
21
11.
AANTEKENINGEN
23
Inleiding
In deze handleiding zullen een aantal onderwerpen aan bod komen die u in staat stellen Access op een
meer optimale en meer effectieve wijze te gebruiken.
Nadat u deze handleiding heeft doorgewerkt, zult u in staat zijn gegevens te manipuleren met behulp
van queries, kunt u subformulieren in hoofdformulieren opnemen en kunt u allerlei handelingen in
Access automatiseren met behulp van macro’s
De onderwerpen die in deze handleiding aan bod komen, vereisen een voorkennis aangaande een aantal basisvaardigheden en standaard technieken van Access. Deze worden behandeld in de handleiding
“Acces-basis”.
Het eerste hoofdstuk bestaat alleen uit een herhalingsoefening. Het is aan te raden deze ook daadwerkelijk te doen om weer even het Access gevoel te krijgen.
©CTS/advies
25-08-14
pag.nr.5/27
1. Herhalingsoefening
 Open de database Herh_Oef.mdb
 Bekijk de tabel “T_Personen” in zowel de gegevensbladeergave
als de ontwerpweergave.
 gSluit vervolgens de tabel.
 Gebruike de optie ‘Externe gegevens – Importeren - Excel’ [Extern
data – Import – Excel] om het Excel werkblad “T_naw.xls” te importeren en aan de tabel “T_Personen” toe te voegen. (NB. De
Eerste rij bevat veldnamen.)
 Bekijk nogmaals de tabel “T-Personen”.
 Zorg dat het veld “Afdeling” van het type “Lange integer” is.
 Gebruik de optie ‘Hulpmiddelen voor databases – Weergeven/Verbergen – Relaties’ voor het aanbrengen van een relatie tussen het veld “Afd_ID van de tabel “T_Afdeling” en het veld “Afdeling” van het veld “T_Personen”. Dwing hierbij de referentiële
integriteit af.
 Maak met behulp van de optie ‘Maken – Formulieren – Meer formulieren – Wizard formulier’ [Create – Forms – More forms –
Wizard form] een formulier gebaseerd op de tabel “T_Personen”
in kolomvorm.
 Verwijder het tekstvak “Afdeling” in de ontwerp-weergave en vervang dit door een keuzelijst met invoervak dat zijn waarden uit de
tabel “Tabel_Afdeling” haalt.
 Sluit het Formulier en Bewaar het als “F_Personen”.
 Maak met de optie ‘Maken – Overige – Wizard Query’ [Create –
Other – Wizard Query] een “query” op basis van de tabel
“T_Personen” die personen uit een bepaalde plaats selecteert.
 Sluit de query en geeft hem de naam “Q_query”
©CTS/advies
25-08-14
pag.nr.7/27
2. Actiequery’s
Wanneer u tot nu toe een query ontwierp en bekeek werden de gegevens (of een subset van de gegevens) geselecteerd, maar de tabel
waarop de query werd uitgevoerd werd zelf niet veranderd. Actiequery’s stellen u in staat tabellen in een database daadwerkelijk te
veranderen. U kunt met behulp van actiequery’s:
 Gegevens in tabellen wijzigen,
 Nieuwe tabellen maken,
 Gegevens uit tabellen verwijderen
 Gegevens aan tabellen toevoegen.
Bij het maken van actiequery’s dient u twee zaken goed in het oog te
houden.
 Maak altijd een kopie van de database waarin u op dat moment
werkt.
 Probeer de actiequery altijd eerst uit als een selectie query zodat u
voor uzelf kunt controleren welke gegevens u eventueel verandert.
2.1
De Bijwerkquery [Update query]
Met de bijwerkquery [Update query] kunt u in één keer alle (of een
subset van ) gegevens in alle records veranderen. Dit is aanzienlijk efficiënter dan de records één voor één te veranderen. Op deze wijze
kunt u bijvoorbeeld een bijwerkquery maken die, voor alle mensen
die op een bepaalde afdeling werken, een salarisverhoging doorvoert.
 Open de database “A_QUERY.MDB”.
Op een regel on het het Lint, ziet u een Beveiligingswaarschuwing
dat “Beplaade inhoud in de database is uitgeschakeld”. Dit heeft
betrekking op de voorbeeld actiqueries die er in zitten.
 Klik op ‘Opties’ [Options].
 Klik op ‘Deze inhoud inschakelen’.
 Open de query “Q_Salaris”. Let er op dat deze query alleen mensen selecteert die op afdeling 5 werken.
 Noteer het salaris van de eerste persoon.
 Activeer de ontwerpweergave van de query.
 Klik op de menu-optie ‘Ontwerpen – Querytype – Querytype: bijwerken’ Design – Query type – Query type: Update Query].
©CTS/advies
25-08-14
pag.nr.9/27
Actiequery’s
Het ontwerp-raster van uw query verandert..
In het onderste gedeelte van het ontwerp-raster wordt de rij “Sorteren” [Sort] vervangen door de rij “Wijzigen in” [Update to].
 Vul in de kolom Salaris in de rij ‘Wijzigen in’ [Update to] de expressie: [SALARIS] * 1,02 in.
 U kunt de selectie van de query nogmaals controleren door de gegevensbladweergave van de query te bekijken.
 Schakel vervolgens weer terug naar de ontwerpweergave van de
query.
 Klik op de knop om de query te bewaren.
De Query wordt opgeslagen als een ‘Bijwerk query’ Merk op dat
in het navigatievenster het pictogram wordt aangepast.
 Klik op de knop ‘Uitvoeren’.
 Het volgende dialoogkader dat verschijnt stelt u op de hoogte van
de consequenties van uw commando.
Indien u de query nu uitvoert geeft u de mensen die op de afdeling 5
werken allemaal een salarisverhoging van 2%. Deze waarden worden
vervolgens daadwerkelijk in de tabel veranderd. U kunt dit resultaat
niet meer ongedaan maken. U kunt vervolgens wel met een andere
query de waarden eventueel weer terugzetten.
 Klik op ‘Ja’ [Yes].
©CTS/advies
25-08-14
pag.nr.10/27
Actiequery’s
 Ga naar de ‘Gegevensbladweergave’ [Datasheet View].
 Open de tabel “T_Personen” en bekijk ook hier het resultaat. Vergelijk het salaris van de eerste persoon van afdeling 5, met de oorspronkelijke waarde.
2.2
De Tabelmaakquery [Make Tabel query]
Een tabelmaakquery [Make-table query] maakt een nieuwe tabel van
de resultaten van een andere query. U kunt op deze wijze kopieën maken van tabellen zowel in de huidige als in een andere database. Zo
kunt u tabellen bewaren die een overzicht geven van een afgesloten
periode.
De procedure voor het maken van een tabelmaakquery is nagenoeg
gelijk aan die van een normale selectiequery.
 Open de query “Q_ Amstelveen”.
Deze query toont alleen de mensen die in Amstelveen wonen.
 Activeer de ‘Ontwerpweergave’ [Design View] van de query.
 Kies de menu-optie ‘Ontwerpen - Querytype - Querytype: tabel
maken’ [Desing – Query Type – Query Type: Make-Table Query].
Access vraagt een naam voor de tabel en een eventueel andere database waar de tabel in moet worden opgeslagen.
 Type in het vak tabel naam “T_Gemaakte tabel” in.
De optie ‘Huidige database’ [Current Database] staat voorgeselecteerd. Laat dit zo staan.
 Bevestig het dialoog kader met ‘OK’.
 Klik op de knop ‘Bewaren’ [Save].
 U ziet dat de query met een ander pictogram wordt opgeslagen.
 Nu kunt u de query definitief uitvoeren door te klikken op de knop
‘Uitvoeren’ [Run].
Op het scherm verschijnt een waarschuwing
©CTS/advies
25-08-14
pag.nr.11/27
Actiequery’s
 Klik op ‘Ja’ [Yes].
 Dubbelklik de nieuwe tabel “T_Gemaakte tabel” en bekijk het resultaat.
2.3
De verwijder query [Delete Query]
Natuurlijk kunt u records uit een tabel verwijderen door het betreffende record te selecteren en vervolgens op de ‘Delete-toets’ te drukken. Als u echter elk record met een bepaald criterium wilt verwijderen kan dat efficiënter met behulp van een verwijderquery.
 Open de query "Q_Eindhoven".
Deze Query selecteert alle personen die in “Eindhoven” wonen.
 Activeer de ontwerpweergave van de query.
 Kies de ‘Verwijderquery’ [Delete query].
 In het onderste gedeelte van het Query-venster wordt de rij ‘Sorteervolgorde’ [Sort] vervangen door de rij ‘Verwijderen’ [Delete].
 Sluit de query.
Access vraagt o u de wijzigingen in de query wilt opslaan.
 Klik op ‘Ja’ [Yes]
De query Q_Eindhoven wordt gewijzigd in een ‘Verwijder-query’.
U ziet dit aan het pictogram dat in het databasevenster voor de
query verschijnt.
 Dubbelklik de Verwijder-query.
 Op het scherm verschijnt een waarshuwing dat u op het punt staat
een verwijderquery uit te voeren.
 Klik op ‘Ja’ [Yes].
Op het scherm verschijnt weer een waarschuwing.
©CTS/advies
25-08-14
pag.nr.12/27
Actiequery’s
 Klik op ‘Ja’ [Yes].
 Open de tabel “T_Personen”
 Maak een ‘Geavanceerd filter’ [Advanced Filter] voor alle personen die in “Eindhoven” wonen.
U ziet dat deze niet meer in de tabel voorkomen.
NB. Hoewel de query “Q_Verwijderquery” oorspronkelijk maar drie
uitvoervelden had, zijn er in de tabel “T_Personen” toch 7 gehele records verwijderd.
2.4
De Toevoegquery [Append query]
Een ‘Toevoegquery’ [Append Query] kopieert sommige of alle records van de ene tabel naar het eind van een andere tabel. Een dergelijke query zou u kunnen gebruiken om periodiek gegevens aan een
andere tabel toe te voegen. U kunt op die wijze een historisch overzicht creëren van een tabel, waaruit regelmatig records verwijderd
worden.
Een toevoegquery is alleen zinvol indien beide tabellen een gelijksoortige structuur en gelijksoortige velden hebben. Deze structuren
hoeven echter niet geheel identiek te zijn. In het algemeen geldt dat de
doeltabel leidend is:
 Als de tabel waaruit gekopieerd wordt meer velden bevat als de tabel waar naar toe gekopieerd wordt, worden de velden die teveel
zijn in de brontabel niet aan de doeltabel toegevoegd.
 Als de tabel waaruit gekopieerd wordt minder velden bevat als de
tabel waar naar toe gekopieerd wordt, worden alle velden met de
zelfde namen toegevoegd en blijven de overblijvende velden in de
doeltabel leeg
 Open de tabel "T_Eindhoven"
Uiteraard bevat deze tabel alleen personen die in “Eindhoven” wonen.
 Bekijk ook het ontwerp van de tabel.
 Sluit de tabel “T_Eindhoven”.
©CTS/advies
25-08-14
pag.nr.13/27
Actiequery’s
 Open de query "Q_Rotterdam".
 Activeer de ontwerpweergave van de query.
 Kies de ‘Toevoegquery’ [Append Query].
 Op het scherm verschijnt een dialoogkader waarin u kunt opgeven
aan welke tabel de records moeten worden toegevoegd.
 Activeer de afrollijst “Tabelnaam” en selecteer de tabel
“T_Eindhoven”
De optie “huidige database” staat aan. U kunt ook gegevens aan
een tabel toevoegen in een andere database door de optie “Andere
database” te activeren. U dient dan wel het gehele pad en de naam
van de database op te geven.
 Klik ‘OK’.
 Bewaar de query.
In het naviatievenster ziet u het pictogram van de ‘toevoeg query’
verschijnen.
 Klik op de knop ‘Uitvoeren’.
Het volgende dialoogkader stelt u vervolgens op de hoogte van de
consequenties van uw commando.
 Klik op ‘Ja’ [Yes].
 Sluit de query.
 Open de tabel “T_Eindhoven” en bekijk het resultaat.
2.4.1 Records met een teller-veld toevoegen
Als de tabel waaraan gegevens toegevoegd worden een Autonummeringveld bevat, kunt u twee dingen doen:
©CTS/advies
25-08-14
pag.nr.14/27
Actiequery’s
 U kunt Access de waarden laten invullen
 U kunt de records toevoegen met de bestaande teller waarden.
Als u wilt dat Access de waarden toekent aan het teller-veld in de
doeltabel, neem dan bij het maken van een toevoegquery dit veld niet
op in het query-raster.
Als u de bestaande teller-velden uit de brontabel wel wilt opnemen
moet u ook het teller-veld opnemen in het query-raster.
Indien het tellerveld in de doeltabel tevens de primaire sleutel is moeten de waarden uit de brontabel natuurlijk wel uniek zijn ten opzichte
van de waarden uit de doeltabel.
©CTS/advies
25-08-14
pag.nr.15/27
2.5
Actiequries: oefeningen
Oefening 1.: Query bijwerken
 Open de database “A_QUERY”. Maak een query gebaseerd op de
tabel "T_Personen" die alle personen die in Veendam wonen en
die op afdeling nummer drie werken een salarisverhoging van 1%.
Oefening 2.: Tabelmaakquery
 Maak met behulp van een query gebaseerd op een tabel
"T_Personen" een tabel, genaamd “T_buffer”, met alleen mensen
wiens achternaam met de letter “K” begint.
Oefening 3.: Verwijderquery
 Verwijder uit de tabel "T_Personen" alle mensen wiens achternaam met de letter “K” begint.
Oefening 4.: Toevoegquery
 Voeg nu uit de tabel “T_Buffer” alle mensen toe aan de tabel “Tabel_personen”.
©CTS/advies
25-08-14
pag.nr.17/27
3. Hoofd/subformulier
…
©CTS/advies
25-08-14
pag.nr.19/27
4.
Evaluatieformulier
Gegevens cursus:
Cursusnummer:
............................................................................
Cursusnaam:
............................................................................
Naam docent:
............................................................................
Datum:
............................................................................
Gegevens voor deelname certificaat:
Naam cursist zoals te vermelden op certificaat
dhr./mw ..............................................................
Geboortedatum
……………………………………..………………
Geboorteplaats
……………………………………..………………
Evaluatie
Omcirkel het door u gewenste antwoord en geef daaronder eventueel een toelichting. Vergeet niet de
achterkant van dit formulier ook in te vullen.
Vindt u dat er tijdens de cursus voldoende op uw situatie is ingegaan?
slecht
matig
voldoende
goed
uitstekend
goed
uitstekend
goed
uitstekend
Commentaar:
Wat is uw oordeel over de inhoud van de cursus?
slecht
matig
voldoende
Commentaar:
Wat is uw oordeel over het gebruikte lesmateriaal?
slecht
matig
voldoende
Commentaar:
Wat is uw oordeel over de didactische vaardigheden en presentatie van de docent?
slecht
matig
voldoende
goed
uitstekend
Commentaar:
Vervolg op volgende pagina
©CTS/advies
25-08-14
pag.nr.21/27
Evaluatieformulier
Wat vond u van de organisatie van de cursus?
slecht
matig
voldoende
goed
uitstekend
goed
uitstekend
Commentaar:
Wat vond u van de sfeer tijdens de cursus?
slecht
matig
voldoende
Commentaar:
Wat is uw eindcijfer voor de gehele cursus?.
1
1,5
2
2,5
3
3,5
4
4,5
5
5,5
6
6,5
7
7,5
8
8,5
9
9,5
10
Overige suggesties?
©CTS/advies
25-08-14
pag.nr.22/27
5. Aantekeningen
©CTS/advies
25-08-14
pag.nr.23/27
Aantekeningen
©CTS/advies
25-08-14
pag.nr.24/27
Aantekeningen
©CTS/advies
25-08-14
pag.nr.25/27
Aantekeningen
©CTS/advies
25-08-14
pag.nr.26/27
Aantekeningen
©CTS/advies
25-08-14
pag.nr.27/27