Hoe bouw ik relatie op tussen deze 2 tabellen?

Status
Niet open voor verdere reacties.

Snulk

Gebruiker
Lid geworden
12 mrt 2005
Berichten
429
Hallo,
Ik wil een tabel maken van medewerkers en een tabel van de cursussen die ze gevolgd hebben.
De ene tabel noem ik "Medewerkers" en de andere "Cursussen".

In tabel Medewerkers maak ik velden zoals: personeelsnummer, achternaam, voorletters, roepnaam enz. enz.
In tabel Cursussen maaik velden zoals: training, trainingsinstituut, locatie, datum enz. enz.

Hoe kan ik nu een relatie tussen die 2 maken, zodat ik straks in een query kan zien welke cursussen een medewerker gevolgd heeft?
De een kan nl. 10 cursussen gevolgd hebben en de ander 2.
In de tabel medewerkers is het misschien raar om daar al 20 velden in te ruimen voor alle mogelijke cursussen die ze gaan volgen...

ik kom er niet uit. Wie wil mij een opzetje geven? :)

Jos
 
Opzetten van een cursus database moet je altijd goed van te voren uitdenken, anders ga je verschrikkelijk de teil in. Als ik je verhaal lees, denk ik als eerste: je moet terug naar de tekentafel, want je opzet deugt nog niet. Dat begint m.i. al met destamtabellen: dit zijn de tabellen die je brongegevens bevatten, zoals de medewerkers en de locaties. Volgens mij heb je minimaal deze tabellen nodig:
1. tblMedewerker (personeelsnummer, achternaam, voorletters, roepnaam etc.)
2.tblTrainer (trainerID, traininingsinstituut, adres etc)
3. tblCursus (cursusID, cursusnaam, niveau, cursusduur, frequentie etc)
4. tblLocatie (locatieID, adres, kamernr etc)

Die tabellen gebruik je als basis om de cursussen te registreren. Daarbij wil je vastleggen wie (personeelsnummer), welke cursus (cursusID), waar (locatieID) en wanneer de cursus wordt gegeven. En uiteraard wie de training geeft (trainerID). Die koppeltabel (tblTrainingsschema) koppel je dan op basis van de koppelvelden. Dat gaat simpel in het scherm Relaties: zo koppel je de tabel tblMedewerker aan tblTrainingsschema op basis van het veld [Personeelsnummer] Dat veld is in tblMedewerker uniek, dus een sleutelveld, en in tblTrainingsschema niet. Je maakt dan een één-op-veel relatie tussen de twee tabellen. Hetzelfde tussen tblTrainingsschema en tblCursus, waar je dit doet op basis van cursusID.
Let er wel op dat je bij het leggen van de relaties altijd de optie <Referentiële integriteit> aanvinkt; zonder dit vinkje is je relatie volkomen waardeloos. Kun je hem net zo goed niet maken.

Mocht je er niet uitkomen: post een voorbeeldje met wat je dan hebt gemaakt, dan kunnen we meekijken!
En met zo'n opzet is het niet moeilijk om in een rapport of query een overzicht te maken wie op welke cursus is geweest, en wanneer.
 
Dank voor de reactie.
Eerlijk gezegd vraag ik dit voor een vriendin van me die bij een groot opleidingscentrum werkt, dus ik moet me ook een beetje in haar gedachtengang plaatsen.

Maar als ik het goed begrijp moet ik een soort tussentabel maken die informatie bevat van de tabellen die je noemde.
In die tussentabel neem ik dan personeelscode meerdere keren op. Iedere keer als iemand een cursus volgt, werk ik dit bij en kan personeelscode wel 10 keer opgenomen worden.

Dat relateren lukt me wel heb ik al vaker gedaan.

Bedankt!!

Jos
 
In die tussentabel neem ik dan personeelscode meerdere keren op. Iedere keer als iemand een cursus volgt, werk ik dit bij en kan personeelscode wel 10 keer opgenomen worden.
Nee, dat is dus totaal verkeerd begrepen :). Het is juist niet de bedoeling om één veld meerdere keren terug te laten komen, maar dus voor elke cursus die een medewerker volgt een nieuw record aan te maken.
 
Je hebt het goed begrepen. In de tussentabel ook wel koppeltabel genoemd voer je steeds een nieuw record in obv de medewerker.
 
Je hebt het goed begrepen. In de tussentabel ook wel koppeltabel genoemd voer je steeds een nieuw record in obv de medewerker.

Begrijpend lezen is niet de sterkste kant van OctaFish ;)

Tardis
 
Haha ik schrok al:shocked:

Inderdaad ga ik in die tussentabel voor iedere cursus die een medewerker gevolgd heeft een record aanmaken met personeelsnummer en andere nummers die verwijzen naar de tabellen waar de details staan.

Dank allemaal!

gr.
Jos
 
Hoge bomen vangen veel wind, dat snap ik ook wel, maar “begrijpend lezen” kan alleen als er ook “begrijpend schrijven” in het spel is. En dit
In die tussentabel neem ik dan personeelscode meerdere keren op.
Lees ik, begrijpend of niet, toch echt als: ik neem het veld personeelscode meerdere keren op in de tabel. Oftewel: ik maak meerdere velden voor meerdere personeelsnummers. Ik wilde even kortsluiten dat TS dit inderdaad bedoelde. Fijn te weten dat ik blijkbaar zo slecht lees...
 
Trek het je niet aan.
Ik ben denk ik ook heel onduidelijk geweest in wat ik wil:confused:

Jos
 
Niet volgens de anderen :). Maar ik neem liever geen risico, en probeer de situatie volledig helder en duidelijk op tafel te krijgen. Soms kost dat een extra berichtje, maar dat moet dan maar :)
 
@OctaFish, anderen moet enkelvoud zijn.:) Aan jouw begrijpend lezen twijfel ik niet. Wel af en toe aan de interpretatie van wat er er staat.:p:d
 
@OctaFish, anderen moet enkelvoud zijn.
Oh, maar hij is niet alleen :). Je kunt er onderhand een aardig leger mee samenstellen :D. Overigens geef ik grif toe dat ik wel eens iets te snel heb gelezen, en daardoor met wat 'minder handige' oplossingen op de prop ben gekomen in de afgelopen jaren. Maar goed, toon mij de eerste helper die een foutloze conduitestaat heeft ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan