Probleem Ouders-Kinderen

Status
Niet open voor verdere reacties.

Bibitor

Nieuwe gebruiker
Lid geworden
3 dec 2005
Berichten
4
Hallo,

Ik heb een dbs met tabellen Ouders en kinderen,

DE ouders kunnen 1 of meerdere kinderen hebben. De ouders zijn dus verbonden met de tabel kinderen (Dus één op veel)

Nu wil ik de kinderen > 12 jaar verwijderen uit de tabel kinderen, hierdoor worden de ouders ook verwijderd wat in eerste instantie ook mag. 1 ouderpaar kan perfect 1 kind hebben dat ouder is dan 12. Maar sommige ouders hebben nog kinderen die jonger zijn dan 12 en voor die kinderen zijn hun ouders dan ook verwijderd, wat eigenlijk niet mag want ik heb die daar dan nog voor nodig. Weet iemand raad om dit probleem op te lossen ?
 
Hoi,

Wat je zegt kán niet.
Als je correct een koppeling hebt gemaakt (één op veel = ouders - kinderen) en je verwijderd een kind uit de tabel kinderen wordt niet 'automatisch' ook de ouder uit die tabel verwijderd.
 
Waarschijnlijk gebruik je een query om de ouders op te halen. In die query heb je dan een inner join gemaakt tussen de tabellen ouders en kinderen. Geen kinderen: dan zie je de ouders niet.
Dat kun je oplossen door er een outer join van te maken (doe je bij de join eigenschappen).
Post je mdb (zippen, niet rarren), dat maakt het een stuk eenvoudiger om een oplossing te geven.
 
Relatie tussen de tabellen

Waarschijnlijk heb je de relatie tussen de twee tabellen gelegd van kinderen naar ouders en vervolgens op deze relatie ingesteld dat ouders verwijderd moeten worden als het kind verwijderd wordt. Als dit zo is, kun je het beste deze relatie weggooien en een nieuwe relatie leggen vanaf de ouders naar de kinderen. Je zult zien dat ouders dan niet meer weggegooid worden als er kinderen verwijderd worden.
 
bBeste Sesam,

de tabellen zijn wel degelijk ouder (1) naar kinderen veel.

Het probleem is dus: Ouders hebben bijvoorbeeld 2 kinderen, één van 13 en één van 11.
Het kind van dertien moet verwijderd worden, want ouder dan 12 en het andere moet blijven. Maar ook de ouders moeten blijven want ik moet hen nog een brief sturen voor een uitnodiging, maar dit kan ik niet want wanneer ik het kind van 13 verwijderd heb via een deletequery dan zijn ook de gegevens van de ouders weg.

Mijn tabellen: tbl Ouders (één), met primaire sleutel id Ouder, autonumeriek
tbl Kinderen (veel) met veld idOuder, lngInteger
Ik heb eveneens een hoofdformulier met daarin de ouders en een subfrm met daarin de kinderen.
 
Paul,

verwijder het kind direkt via je subformulier.
Als je nu juist daarvoor een verwijderquery hebt gemaakt, dan kan het niet anders of je query klopt niet.

Voeg anders je bestand bij, gewinzipt.

Groet,

Tardis
 
Ouders-kinderen

In de Tbl_kinderen maak je een tweede sleutelveld met KindID
Maak een formulier met als hoodformulier tbl_ouders en als subformulier Tbl_kindren.

dan kun je rustig in subformulier een kind van corresponderende ouders dat boven twaalf is verwijderen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan