De CD-verzameling

1. Een eerste poging

  1. Start Access en kies Lege Bureaudatabase in het startscherm.
  2. Geef als naam in: muziek
  3. Klik achteraan op het gele mapje om de gewenste map te openen. OK.lege DB
  4. Klik daarna op de knop Maken.
  5. Klik op de kop "klik om titel toe te voegen", kies "korte tekst" en typ: CD-titel
  6. Voeg zo ook de volgende "korte tekst"-titels toe: Artiest, Label, Jaar, TotDuur
  7. Klik op knopje Opslaan op het balkje Snelle Toegang linksboven en geef de tabel als naam: CDtabel.
  8. CDrecordsTyp de volgende records (in veld ID typ je niets, druk Tab om naar het volgende veld te gaan, dubbelklik op een kolomscheiding tussen de titels om de breedte aan de inhoud aan te passen):
    Een record wordt automatisch bewaard zodra je naar de volgende regel (= volgend record) overgaat.

2. De gegevens splitsen

Ik wil nog een record toevoegen: Liszt Chamber Music, uitgevoerd door Hungarian Chamber Orchestra, HCD 11798, 1997, 55:34.
Alleen, hier is de uitvoerder gegeven, niet de artiest – en we hebben ook een componist, nl. Franz Liszt.
Bovendien zal je geregeld dezelfde artiesten/uitvoerders tegenkomen; moeten die telkens opnieuw ingetypt worden?

We kunnen beter de gegevens splitsen over meer tabellen:

UITVOERDERCOMPONISTCDTABEL
Uitv-IDComp-IDCD-IDtelkens Autonummering
UnaamCnaamCD-titel
IdUitvoerder
IdComponist
LabelKorte tekst, 30 tekens
JaarNumeriek, geheel getal
TotDuur
  1. CDTABEL moet enkel aangepast worden, maak de andere tabellen via lint Maken – TabelOntwerp.
  2. Unaam, Cnaam en CD-titel krijgen type Korte Tekst met veldlengte 80 en Bijschrift resp. Uitvoerder, Componist en Titel.
  3. Kies bij Bestand – Opties – Huidige Database: overlappende documentvensters.
    Sluit de database en open ze opnieuw.
  4. Open tabellen CDtabel en Uitvoerder in gegevensweergave en schik ze zodanig dat je ze naast elkaar in beeld hebt.
  5. Knip de artiesten uit tabel CDtabel en plak ze in veld Unaam van uitvoerder.
  6. Voeg nog twee records toe: Eric Clapton en Hungarian Chamber Orchestra
  7. Voeg als record toe aan tabel Componist: Franz Liszt
  8. Open CDtabel in ontwerpweergave. IdUitvoerder krijgt als gegevenstype Wizard Opzoeken: in tabel Uitvoerder, veld Unaam, niet sorteren, sleutelkolom verbergen en verbreed de voorbeeldkolom zodat je ook de langste naam kan lezen, volgend & voltooien en telkens Ja antwoorden.
  9. Zowat hetzelfde voor IdComponist: Wizard Opzoeken in tabel Componist, veld Cnaam, niet sorteren, sleutelkolom verbergen, Volgend & Voltooien, Ja, Ja.
  10. Schakel over naar gegevensweergave, kies de juiste gegevens in de keuzelijsten en vul aan tot onderstaand voorbeeld.

records

Maak een query qrJaar met velden CD-titel, uitvoerder en totale duur uit CDtabel, gesorteerd volgens jaartal. query
Zoals je ziet verschijnt de naam van de uitvoerder en niet de ID.

3. Een formulier maken

Vooraleer we het formulier maken, zullen we eerst in de tabellen voor duidelijke bijschriften zorgen, want die verschijnen automatisch als label in een formulier of rapport.

  1. Open CDtabel in ontwerpweergave en pas de bijschriften aan: Uitvoerder bij IdUitvoerder, Componist bij IdComponist, Totale duur bij TotDuur.
  2. Sla de tabel op en sluit het ontwerpvenster. De tabel blijft geselecteerd in het navigatievenster (= de kolom links in het Accessvenster).
  3. Activeer lint Maken en klik op Wizard Formulier: alle velden behalve CD-ID, in kolomvorm, titel CD-gegevens, Voltooien.
  4. Schakel over naar Ontwerpweergave. formulier
  5. Activeer hulplint Ontwerp en kies bij de Thema's: Sliert.
  6. Activeer hulplint Schikken en klik op Indeling Verwijderen, zodat je velden vrij kan verschuiven.
  7. Als het er nog staat, wis dan veld (en label) CD-ID; die mag de gebruiker immers nooit aanpassen en dus is dit veld beter niet zichtbaar.
  8. Koptekst en detailsectie kregen als achtergrond (via eigenschappenvenster) themakleur Donkeroranje, Accent 2, lichter 80%.
  9. Sla het formulier op met naam: CDform.
  10. Pas de indeling aan tot het voorbeeld hiernaast.
  11. Schakel over naar gegevensweergave. Klik onderaan op knopje Nieuw Record en voeg het record uit het voorbeeld toe.
    Uitvoerder en componist moet je eerst in de juiste tabellen toevoegen, dan kan je ze kiezen in de keuzelijst in het formulier – tenminste als je even het formulier gesloten hebt en terug geopend.

4. Een rapport toevoegen

Zo, nu nog een rapport om de gegevens af te drukken.

  1. Activeer lint Maken en kies Wizard Rapport: alle velden uit CDtabel behalve ID, groepeer per uitvoerder, sorteer op titel, met Interval, staand blad, naam CDrapport.
  2. De componist verschijnt (opgehaald uit de keuzelijst), de uitvoerder niet omdat we die voor groepering gebruikt hebben en dan werkt Wizard Opzoeken niet.
  3. Sluit en verwijder het rapport.
  1. Maak een query qrUitvoerder met veld Unaam uit Uitvoerder en CD-titel, IdComponist, Label, Jaar en TotDuur uit CDtabel.
    Bekijk even het resultaat en sluit dan de query.
  2. Maak nu een nieuw rapport met de wizard: op basis van qrUitvoerder, alle velden, volgens tabel Uitvoerder, groepeerniveau klopt, sorteer op CD-titel, met Interval, staand blad, naam CDrapport. Bestudeer het resultaat.
  3. Schakel over naar ontwerpweergave. Breng de cursor op het uitroepteken linksboven: het rapport is te breed.
  4. Schuif het tekstvak met de paginanummering naar links, tot tegen het vak met Now(). Veld TotDuur wordt 1,4 cm breed (eigenschappenvenster, opmaak).
  5. Label "Totale Duur" versmal je tot 2,2 cm. Versleep de rechtermarge tot tegen de vakken; verdwijnt het groene driehoekje linksboven? Dan is de breedte OK.
  6. Rapportkoptekst: achtergrondkleur Donkeroranje, Accent 2, lichter 80% en de titel wordt CD-gegevens, in het vet (hulplint Opmaak) en grootte 24 punt – vergroot het label.
  7. Paginakoptekst: knip label "Uitvoerder" uit en zet het in de groepskoptekst, vóór het veld Unaam.
    Zet label "Titel" precies onder de "CD-gegevens" (hulplint Schikken, Uitlijnen – Links). Versmal "Label" en verbreed "Jaar", zodat in beide de tekst volledig zichtbaar is.
  8. Groepskoptekst: achtergrondkleur Achtergrond 2, label in het vet, veld achtergrondstijl Transparant. Maak het veld lang genoeg (controleer op het afdrukvoorbeeld).
  9. Kies op hulplint Opmaak: Afwisselende Rijkleur – Geen zowel in de details als in de groepskoptekst.
  10. Details: schik veld CD-titel precies onder label "Titel" en geef het veld breedte 8 cm. IdComponist komt links op 8,3 cm en is 3 cm breed, zonder rand (hulplint Opmaak, transparante omtrek van vorm).
  11. Veld Label: links op 11,4 cm en 3,8 cm breed. "Jaar" moet breed genoeg zijn om het jaartal te tonen.
  12. Schik de labels in de paginakoptekst boven de juiste velden in de detailsectie.

Resultaat: rapport

5. Tweede poging

Tja, allemaal goed en wel, maar hoe geef ik een verzamel-CD met verschillende uitvoerders in? Of gewoon de verschillende nummers op een CD?
We zullen de databasestructuur moeten aanpassen en dat betekent dat we zowat van voor af aan opnieuw moeten beginnen...

  1. Verwijder alle rapporten, formulieren, query’s en relaties. Het relatievenster open je via knop Relaties op lint Hulpmiddelen Voor Databases.
  2. Maak een nieuwe tabel in ontwerpweergave met naam Tracks: tracks
    • CDcode: Wizard Opzoeken in tabel CDtabel, veld CDtitel, alfabetisch gesorteerd
    • Tracknr: geheel getal, nul decimalen, bijschrift "Track"
    • Tracktitel: veldlengte 60, vereist (= moet ingevuld worden)
    • Uitvoerder-ID: Wizard Opzoeken in tabel Uitvoerder, veld Unaam, sorteer op naam
    • Componist-ID: Wizard Opzoeken in tabel Componist, veld Cnaam, sorteer op naam
    • Duur: lange tijdnotatie, invoermasker (klik & via 3 puntjes) lange tijdnotatie
    • Beoordeling: numeriek, geheel getal, 0 decimalen, validatieregel Between 0 And 10 en Validatietekst Kies een getal tussen 0 en 10.
  3. Open CDtabel in ontwerpweergave en pas aan:
    • Wis velden IdUitvoerder en IdComponist plus hun indexen
    • Wis veld TotDuur; die zullen we nu berekenen als som van de duur van alle tracks
    • Voeg volgende velden toe:
      • Aankoopdatum: type Datum/Tijd, korte datumnotatie + invoermasker
      • Prijs: Valuta, Euro, 2 decimalen, beschrijving aankoopprijs in euro
      • Bespreking: type Lange Tekst
      • Cover: type OLE-object, beschrijving afbeelding CD-cover
      • Internet: type Hyperlink, beschrijving meer info op het Internet
    • veld CD-titel is vereist
    • Sla de tabel op en sluit.

6. De relaties

Enige bedenkingen:

Dus hebben we outer join relaties nodig: gegevens in de ene tabel worden altijd getoond, ook zonder tegenhanger in de gerelateerde tabel.

  1. Open venster Relaties en voeg tabel Tracks toe.
  2. Rechtsklik op de relatie CDcode/CD-ID en stel referentiële integriteit in en jointype 2 (alle records uit CDtabel, waar mogelijk die uit Tracks)
  3. Rechtsklik op de relatie Uitvoerder-ID/Uitv-ID en stel jointype 3 in
  4. Rechtsklik op de relatie Componist-ID/Comp-ID en stel jointype 3 in.

Dat geeft volgend resultaat: relaties

Open vervolgens tabel Tracks in gegevensweergave en voeg volgende records toe:

records

Opm: veld met dezelfde inhoud als het vorige record? Druk CTRL-" of in een keuzelijst: typ de eerste letter.

Voeg nog Joseph Strauss toe aan tabel Componist en sluit die tabel opnieuw.

Download wenen.xlsx.
Activeer lint Externe Gegevens en kies in sectie Importeren en Koppelen de optie Excel. Blader naar de juiste map, open wenen.xlsx en laat importeren in de bestaande tabel Tracks. Doorloop de wizard.

Open tabel Tracks in gegevensweergave en vul veld CDCode aan: de 12 nieuwe tracks komen van CD Het grote Nieuwjaarsconcert in Wenen.

7. De nieuwe formulieren

  1. UitvoerderMaak met de wizard een formulier Uitvoerderform: tabel Uitvoerder, enkel veld Unaam, tabelvorm.
  2. Bewerk in ontwerpweergave: geen afwisselende rijkleuren, achtergrondafbeelding muziek1.png, het tekstvak heeft geen schuifbalken.
  3. Maak een gelijkaardig formulier voor de componisten.
  4. Maak met de wizard een formulier CDform: tabel CDtabel, alle velden behalve ID, kolomvorm en vul de gegevens aan:
    • Bad Love: gekocht op 16/04/2001 voor 15,49 €, URL http://www.randynewman.com
    • The Future: gekocht op 26/08/2004 voor 17,72 €, URL http://www.leonardcohen.com
    • Zoek de covers op Internet en plak ze in het OLE-vak, bespreking naar keuze.
  5. Maak ook met de wizard een formulier Tracksform voor tabel Tracks, alle velden behalve ID, in tabelvorm. Bekijk, bewaar en sluit.
  6. Open CDform in ontwerpweergave. Pas aan tot het voorbeeld: CDform
    De titel heeft geen schuifbalken. Koptekst in grootte 24.
  7. Onderaan is nu een grote open ruimte. Teken daarin een besturingselement Subformulier: bestaand formulier gebruiken, Tracksform, sleutel klopt.
  8. Het subformulier heeft geen navigatieknoppen. Zowel formulier als subformulier krijgen muziek1.png als achtergrondafbeelding, uitgerekt.
  9. De tekst in de labels is vetgedrukt. Pas aan tot het voorbeeld hieronder.

Voor uitvoerder en componist kan je enkel bestaande waarden in de keuzelijsten kiezen. Oplossing:

  1. Schuif de ruimte voor de voettekst van het subformulier open en teken daar een besturingselement Knop.
  2. De wizard start: Formulierbewerking – Formulier Openen, Uitvoerderform, tekst op knop Nieuwe Uitvoerder, naam knop Uitvoerderknop.
  3. Doe hetzelfde voor de componisten.

Nu kan je tijdens het toevoegen van tracks uitvoerders en componisten toevoegen, maar ze verschijnen niet automatisch in de keuzelijst. Oplossing:

  1. Klik op de keuzelijst en activeer het eigenschappenvenster, tab Gebeurtenis.
  2. Klik in het vak Bij Focus en dan op de 3 puntjes: Opbouwfunctie voor macro's, actie Vernieuwen. Sluit het macrovenster en laat opslaan.
  3. Sla het formulier op, schakel over naar gegevensweergave en geef de CD in het voorbeeld in.

CDform

Voor de volledigheid, er staan 20 tracks op de CD:

11DelilahTom Jones0:03:21
12Everlasting LoveLove Affair0:02:57
13Bend Me, Shape MeAmen Corner0:02:34
14Tin SoldierThe Small Faces0:03:19
15On The Road AgainCanned Heat0:03:23
16You Made a Fool of MeThe New Inspiration0:02:32
17Something For NothingJess and James0:02:21
18HushBilly Joe Royal0:02:28
19This Wheel's On FireJulie Driscoll0:03:32
20FireArthur Brown0:02:56

8. Het definitieve rapport

Nu nog een rapport om de gegevens af te drukken.

  1. Maak een query qrAlles met alle gegevens uit de 4 tabellen: sleep telkens het sterretje naar een leeg queryveld.
  2. Maak een rapport Allesrapport in ontwerpweergave. A4 staand, alle marges 2 cm behalve ondermarge 2,5 cm. Het werkgebied is 16 cm breed. Recordbron qrAlles. Thema Ion-Directiekamer, Lettertypen Georgia. Zie voorbeeld hieronder.
  3. Nergens afwisselende rijkleuren.
  4. Paginakoptekst Mijn CD-verzameling in een label, opmaak naar keuze.
  5. Voeg een groep toe: CD-titel, groep bijeenhouden op één pagina, met koptekstsectie én voettekstsectie.
  6. De CD-gegevens en de titels voor de tracks staan in de koptekstsectie.
  7. CD-titel in grootte 18 punt. De omtrek van de velden is transparant.
  8. Voorwaardelijke opmaak veld Prijs: als waarde = 0 dan tekstkleur wit.
  9. Details: sleep de velden in de detailsectie, knip dan de labels uit en plak ze in de koptekst.
  10. Groepsvoettekst: lijn boven en 2 lijnen onder het totaal. In het tekstvak komt als functie =Som([Duur]) en als label erbij Totale speelduur:.
    Eigenschap Notatie: lange tijdsnotatie
  11. Paginavoettekst: tekstvak met functie =Now() in lange datumnotatie, tekstuitlijning links en rechts een tekstvakje met het paginanummer, expressie ="p. " & [Page] en tekstuitlijning rechts.

rapport