INSERT met relatie

Status
Niet open voor verdere reacties.

NogGeenGuru

Gebruiker
Lid geworden
5 aug 2015
Berichten
130
Beste forumleden,

Ik probeer een tabel te vullen d.m.v. een query, ik loop hierop alleen een beetje vast.

De versimpelde situatie is als volgt:

Tabel Persoon heeft twee velden Persoon.ID (autoincrement) en Persoon.Naam (varchar).
Tabel Medewerker heeft twee velden waaronder een relatie met tabel Persoon, Medewerker.ID (autoincrement) en Medewerker.PersoonID (Integer)
(Beide tabellen bestaan uiteraard uit meer velden dan dit :p )

Hierin verwijst Medewerker.PersoonID naar ID van tabel Persoon.
(daarnaast zijn er nog meer tabellen die ook 'personen' zijn. vandaar de overerving)

Nu wil ik deze tabellen vullen d.m.v. een query.

Het vullen gebeurt via Excel.
De gebruiker vult de gegevens in van zowel Persoon als Medewerker.
vervolgens wil ik aan beide tabellen een record toevoegen met het PersoonID in beide tabellen.

Persoon kan worden gevuld met:
Code:
INSERT INTO Persoon ([Naam]) VALUES (<naam uit Excelblad>);

Maar hoe vul ik dan Medewerker?:o

Ik had zelf meerdere opties geprobeerd zoals:
Code:
INSERT INTO Medewerker (Medewerker.PersoonID) VALUES (SELECT ID FROM Persoon WHERE Persoon.Naam = <naam uit het Excelblad>);

Maar dit blijkt niet te werken... :(
 
Waarom mensen met Excel en Access blijven klooien i.p.v. alles in Access te doen (wil je een database, doe het dan goed) is mij een raadsel. Dat je query niet werkt is meer dan logisch; je vult eerst de Personen tabel waarin een Autonummer het PersoonID bepaalt. Op het moment dat je de tweede tabel wilt vullen, heb je die nummers dus never nooit niet beschikbaar, want je leest die niet terug. Alles zou vele malen makkelijker gaan als je het vanuit Access aanstuurt. But hey, maybe that's just me...
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan