10 oktober 2008

Ik kan een join draaien!

Dit is een technisch verhaal en voor de meeste mensen waarschijnlijk niet interessant. Toch wil ik er een bericht van maken omdat het een leuk beeld geeft van wat je met Excel en Access kunt doen.
Probleem: Je hebt twee Excel bestanden en in beide bestanden staan gegevens die je nodig hebt voor een import naar een ander programma. Hoe krijg je die gegevens bij elkaar?

Zoals je ziet komt in elk blad de kolom Klas voor. In een klas zitten vaak leerlingen die verschillende studieprogramma's volgen. In de linker tabel staat welke vakken aan welke klassen gegeven worden. In de rechter tabel staat welke studieprogramma's in welke klassen voorkomen. Het programma dat we gebruiken wil echter weten welke vakken an welke studieprogramma's gekoppeld zijn. Daarvoor moet ik dus gegevens uit beide tabellen combineren.



Dit kan met behulp van Access.
Je kunt in Access Excel bestanden als tabel definiëren.
Gewoon rechtsklikken in het scherm en de bestanden selecteren die je nodig hebt.


Vervolgens kun je een query maken waarbij je aangeeft welke velden uit welke tabel je wilt gebruiken.
Ook hier geldt weer: rechtsklikken in de query om de tabellen toe te voegen die je wilt gebruiken.

Leg een relatie tussen de overeenkomende velden door ze met de muis met elkaar te verbinden.
In de query voeg ik nog twee kolommen toe die het programma straks nodig heeft, namelijk volgnummer en of het vak wel/niet verplicht is. In beide kolommen mag telkens hetzelfde staan.

Nu moet er nog wat aangepast worden aan de eigenschappen om te voorkomen dat regels vaker voorkomen. Daarvoor zeg je bij unieke waarden: ja


Deze query kun je exporteren als .csv bestand en dat kan worden aangeboden aan Magister. Dit scheelt enorm veel tijd omdat nu niet meer alle vakken één voor één hoeven te worden aangemaakt waarbij dan ook nog de koppeling gelegd zou moeten worden naar de juiste studieprogramma's.

Het resultaat ziet er simpel genoeg uit:
Voor veel mensen zoals gemeld niet boeiend, maar ik ben heel blij dat ik met behulp van een paar collega's nu geleerd heb hoe ik een join kan maken van gegevens uit verschillende bestanden. En als je het eenmaal gedaan hebt lijkt het ontzettend simpel...

Eerlijk gezegd ben ik er gewoon hartstikke trots op dat het me gelukt is om zo 2 bronnen bij elkaar te brengen, want we zagen het deze week even niet meer zitten. Nu is mijn weekend al helemaal goed!

(Dit is een testbestand. In het echt zien de vakbenamingen er een stuk onlogischer uit)

8 opmerkingen:

  1. En: had je een stevige blow gerookt nadat je dit snapte? Of ervoor? ;-P

    BeantwoordenVerwijderen
  2. Hee Moniek, er staat join en niet joint.
    Zie jij mij een joint roken?
    Dat soort bekentenissen doe ik niet online maar als ik je zie vertel ik je er alles over!

    BeantwoordenVerwijderen
  3. Handig! OOk handig als je gevevens van vorig jaar en dit jaar wilt samenbrengen. Bedankt voor de tip!

    BeantwoordenVerwijderen
  4. Je zou hiervoor evt ook een VLOOKUP kunnen doen. Scheelt je weer een uitstapje naar een andere applicatie :).

    BeantwoordenVerwijderen
  5. @Rick,
    Bedankt voor je reactie, maar....
    Met Vlookup worden er wel gegevens toegevoegd in bestaande regels, maar er worden geen regels toegevoegd. Dat laatste moet wel en gebeurt in Access. Als je dat voor elkaar krijgt in Excel ben je mijn hero!

    BeantwoordenVerwijderen
  6. Ik zal eens kijken of ik op deze manier gegevens van webfomulieren kan afvangen in importeren via Excel on MS-CRM.

    Hans Wolff

    BeantwoordenVerwijderen
  7. Ik zie het bericht in Netvibes ook steeds aan voor Joint. Denk steeds dat Sweet Smoke je te grazen had genomen :-)

    BeantwoordenVerwijderen
  8. Je kunt toch cellen gewoon samenvoegen binnen Excel

    Blad1!B3&","&Blad2!B2

    tekst uit blad1 cel b3 en een komma ertussen en tekst uit blad2 cel b2 komt in blad3 ergens waar deze formule staat

    BeantwoordenVerwijderen