Info-books
HA40c
Toegepaste Informatica Handleiding
Deel 40c : Gegevensbeheer en algoritmen in Access Jos Gils – Erik Goossens
Veldlengte Het maximale aantal tekens dat in een veld kan ingevoerd worden. Veldnaam De naam die je aan een kolom of veld geeft. Vereist Een invoer in het veld is vereist opdat de record weggeschreven zou kunnen worden.
4.1.4
H4
Gegevens in tabellen selecteren en rangschikken
Filter Een techniek voor het filteren van records waarbij je in een formulier of in een gegevensblad met lege velden de waarden invoert die de gefilterde records moeten bevatten. Jokerteken Een tijdelijke aanduiding van een teken (?) of tekenreeks (*). Logische operator Een operator die een logische vergelijking maakt tussen twee waarden en als resultaat ‘waar’ of ‘onwaar’ aflevert (bijvoorbeeld AND). Selectiequery Een query die volgens de opgegeven criteria gegevens ophaalt uit één of meer tabellen en die deze gegevens toont in de volgorde die vooraf bepaald werd. Standaardoperator De operator die je in een selectieveld niet moet schrijven (=). Vergelijkingsoperator Een operator die waarden met mekaar vergelijkt (bijvoorbeeld ‘<‘ (kleiner dan)). Wiskundige operator De wiskundige bewerkingstekens. Zoekopdracht Een gerichte opdracht die hoogstens 1 record als resultaat geeft.
4.1.5
H5
Virtuele tabellen of query’s
Actiequery Een query die gebruikt wordt om gegevens toe te voegen aan een tabel, om gegevens te wijz igen of te verwijderen. AND (operator) Een operator die in filters en query’s voorwaarden aan mekaar koppelt die allebei voldaan moeten zijn om de gevraagde actie te doen. Bijwerkquery Een query die dient om de waarde van een veld in alle records van een gegevenstabel te wijzigen.
J. Gils – E. Goossens
Gegevensbeheer en algoritmen
23
12 Hoeveel landen met minder dan 100 000 inwoners zijn lid van de VN? voorwaarde: Aantal inwoners < 100000, VN = True aantal landen: 14 13 Hoeveel doelmannen van Belgische nationaliteit vind je in de tabel LA_ CODE = “BE” AND FU_ ID = 2 aantal doelmannen: 6
TBLVOETBALLERS?
14 Maak een filter die alle landen selecteert waarvan de tweede letter van de naam een “a” of een “e” is. LAND LIKE “?[ae]*”], aantal landen: 87
1.5
H5 Virtuele tabellen of query’s
[5.1 Probleemstelling] [5.2 Virtuele tabellen samenstellen op basis van een selectiequery] 1 Open de database SPORT .MDB en maak een query, op basis van de tabel TBLLANDEN die alle landen uit Europa toont, gesorteerd volgens naam. Toon de kolommen SOORT , BEDRIJF, STRAAT, WOONPLAATS en BEDRAG. d Hoeveel landen zijn geselecteerd? [46] 2 Wijzig de query zodanig dat alleen de landen getoond worden die minder dan 1 000 000 inwoners tellen. Bewaar de query als QRYEUROPA2. Noteer het criterium. LA_ INWONERS: < 1000000 aantal landen: 11 [5.3 Meerdere criteria in een query] 3 Welke landen van Europa maken deel uit van de Verenigde Naties? Geef het criterium, hoeveel landen zijn lid, welk is het oudste lid? LA_ VN: waar, LA_ WERELDDEL : “Europa” 42 landen zijn lid, Nederland is het oudste lid. 4 Welke landen van Europa en Afrika maken geen deel uit van de Verenigde Naties? LA_ VN: onwaar, LA_ WERELDDEL : “Europa” LA_ VN: onwaar, LA_ WERELDDEL : “Afrika” 11 landen
46
Gegevensbeheer en algoritmen
J. Gils – E. Goossens
wordt tot op twee cijfers na de komma afgerond. In Access 97 wordt Round() niet herkend. Gebruik in dat geval Afronden(). 8 Maak een nieuwe factuur: Wat is het eindtotaal van deze factuur? Hoeveel BTW moet betaald worden? Totaal te betalen: 828,65 EUR waarin 139,92 EUR BTW. 6% (1,89 EUR), 21% (138,03 EUR) Welke velden kun je wijzigen in het subformulier? Art. nummer, Aantal en korting 9 Klant Bloemenhof bvba komt voor de eerste maal aankopen doen. Hij zit nog niet in het klantenbestand. Verloopt de invoer vlot? Je moet eerst een nieuwe klant toevoegen via het formulier frmKlant, dan pas kun je de factuur maken. Wat is het eindtotaal op de factuur? 2 405,63 EUR Welk klantnummer krijgt deze nieuwe klant? 40xxxx [9.6 Een factuur afdrukken] 10 Het ontwerp van RPT DRUK FACTUUR ontleden (Zie ook heb bijgevoegde voorbeeld.) Waar haalt dit rapport zijn gegevens, m.a.w. wat is de recordbron? QRYDRUKFACTUUR Hoeveel rekenvelden vind je op dit rapport? Kun je de inhoud verklaren? vier • Afdrukken van de woonplaats: =[POSTC] & " " & UCase([WOONPL]) Deze waarden komen uit de tabel TBLWOONPLAATS. • •
Eindtotalen zonder BTW: =[FA_ BASIS0]+[FA_ BASIS1]+[FA_ BASIS2]+[FA_ BASIS3] Eindtotalen BTW: =[FA_BTW0]+[FA_BTW1]+[FA_BTW2]+[FA_BTW3] Al deze waarden komen uit de tabel TBLFACTUUR.
•
Algemeen totaal: =[TXT BASISTOT]+[TXTBTWTOT] txtBasisTot is het rekenveld waarin het eindtotaal zonder BTW berekend wordt, txtBTWTot is het rekenveld waarin het eindtotaal van de BTW berekend wordt.
11 De werking van de afdrukknop CMDDRUKKEN op het formulier frmFactuur Wat is de betekenis van ACVIEWDESIGN, ACVIEWNORMAL (standaard) en ACVIEWP REVIEW? ACVIEWDESIGN: toont de ontwerpweergave; ACVIEWNORMAL (standaard): drukt de factuur af via de printer; ACVIEWPREVIEW: toont het afdrukvoorbeeld.
58
Gegevensbeheer en algoritmen
J. Gils – E. Goossens
• • •
De gehele deling van dit bedrag door de waarde van de grootste munt vermenigvuldigd met 100 geeft het aantal muntstukken van 2 EUR. Op de rest van deze deling kun je dezelfde redenering toepassen voor de op één na grootste munt, namelijk het muntstuk van 1 EUR. De andere munten vind je op dezelfde manier.
Wat moet er gebeuren als je op de knop ‘Leeg maken’ klikt? • Aan alle invoer- en uitvoervelden een lege string toekennen. Structogram en variabelenlijst Na klikken op de knop Bereken: Declareer de variabelen int200, int100,…,int2, int1 intRest, intBedrag Initialisatie van de variabelen int200 ? 0, int 100 ? 0, …, int1 ? 0 intRest ? 0, intBedrag ? 0 Vermenigvuldig het bedrag met 100 en converteer het naar een geheel getal intBedrag ? CDbl(txtBedrag) * 100 Kopieer het intBedrag naar intRest intRest ? intBedrag Bereken het aantal stukken van 2 EUR int200 ? intRest \ 200 Bereken de overschot intRest ? intRest Mod 200 Herhaal deze berekening voor de verschillende munten Zet de uitkomsten in de overeenkomstige uitvoervakken txt200 ? Str(int200) … Na klikken op de knop Leeg maken: Maak alle invoer- en uitvoervakken leeg txt200 ? "" … TIP
Tekstvakken kun je ook leeg maken door er een null-waarde aan toe te kennen. txt200 = Null
Objectentabel: zie figuur Eigenschappen objecten Alleen txtBedrag mag je kunnen wijzigen.
82
Gegevensbeheer en algoritmen
J. Gils – E. Goossens
Na klikken op de knop ‘Bereken’ en ‘Leeg maken’ moet een gebeurtenisprocedure opgeroepen worden. Programmacode Private Sub cmdBereken_Click() Dim int200 As Integer, int100 As Integer Dim int50 As Integer, int20 As Integer, int10 As Integer Dim int5 As Integer, int2 As Integer, int1 As Integer Dim intRest As Integer, intBedrag As Integer 'initialisatie van de variabelen int200 = 0 int100 = 0 int50 = 0 int20 = 0 int10 = 0 int5 = 0 int2 = 0 int1 = 0 intBedrag = (CDbl(txtBedrag) * 100) intRest = intBedrag int200 = intRest \ 200 intRest = intRest Mod 200 int100 = intRest \ 100 intRest = intRest Mod 100 int50 = intRest \ 50 intRest = intRest Mod 50 int20 = intRest \ 20 intRest = intRest Mod 20 int10 = intRest \ 10 intRest = intRest Mod 10 int5 = intRest \ 5 intRest = intRest Mod 5 int2 = intRest \ 2 intRest = intRest Mod 2 int1 = intRest 'uitvoer txt200 = Str(int200) txt100 = Str(int100) txt50 = Str(int50) txt20 = Str(int20) txt10 = Str(int10) txt5 = Str(int5) txt2 = Str(int2) txt1 = Str(int1) End Sub
J. Gils – E. Goossens
Gegevensbeheer en algoritmen
83
1
Databeheer - Access
1.1
H1 Gegevensbeheer met een relationele database
Hulpmiddelen:
geen
Bestand: AccessH1Een.htm
1 Welk woord is geen synoniem van 'gegevenstabel'? *
- database - gegevensbestand - databasebestand
2 Wat wordt er beheerd bij gegevensbeheer? *
- rijen - kolommen - tabellen
3 Wat bevat alle betekenisvolle gegevens over 1 element van een gegevensverzameling? *
- een cel - een rij - een kolom
4 Wat bevat alle betekenisvolle gegevens over 1 element van een gegevensverzameling? *
- een veld - een tabel - een record
5 Wat bevat meerdere gegevenseenheden? *
- een tabel - een rij - een record
6 Waarin vind je juist 1 element van een gegevenseenheid? *
- in een rij - in een kolom - in een cel
7 Waarin vind je juist 1 element van een gegevenseenheid? *
- in een tabel - in een record - in een veld
8 Hoe noem je een koppeling tussen 2 tabellen? *
- cel - relatie - record
9 Van wat is een relationele database een logisch opgebouwde verzameling? *
- van kolommen - van tabellen - van rijen
J. Gils – E. Goossens
Gegevensbeheer en algoritmen
133