Aantallen berekenen

Status
Niet open voor verdere reacties.

williamjr007

Gebruiker
Lid geworden
26 jun 2008
Berichten
45
Hallo,

Ik heb een eenvoudige database met 2 tabellen, Familie_aanvrager en Familie_leden.(Bekijk bijlage test.zip)

Nu wil ik graag weten hoeveel van de leden mannelijk/vrouwelijk zijn, minderjarig of meerderjarig en uit hoeveel leden elke familie bestaat.
Ik weet hoe ik totalen moet berekenen met een query per tabel, maar ik slaag er maar niet in totalen te berekenen per familie.

Per tabel totalen berekenen om dan een nieuwe query te maken op basis van deze beide query's geeft me helaas niet de juiste aantallen.

Hoe kan ik een query ontwerpen die mij volgende gegevens teruggeeft:
  1. Totaal aantal leden per familie (= aanvrager + leden)
  2. Totaal aantal mannen/vrouwen per familie
  3. Totaal aantal meerderjarigen/minderjarigen per familie (18j is de scheiding)

Bedankt!
Willy
 
vraagjes

sommige personen hebben geen familienaam, dus dan kan je moeilijk gaan bepalen tot welke familie ze behoren of ben ik verkeerd, en ik zie ook geen relaties in uw database ?
enkel 2 losse tabellen, hoe link je de ene aan de anderen dan ?
groetjs

ps: die tabel aanvrager wat houdt dat juist in ... is niet volledig duidelijk
 
Laatst bewerkt:
De familienaam is minder belangrijk omdat de leden toch gelinkt zijn aan de aanvrager, dus gemakkelijkheidshalve ga ik er even van uit dat de leden dezelfde familienaam hebben als de aanvrager.
In de tabel 'Aanvrager' zitten de gegevens van diegene die een lidkaart aanvraagt. Hij of zij kan dan vervolgens andere leden van zijn/haar gezin aan zijn/haar lidkaart laten koppelen. Meer als dat is het niet :)

Wel vreemd dat jij geen relaties ziet want die heb ik wel gelegd en die zouden er toch in moeten zitten bij jou (net zoals bij mij)...(zie screenshot).

relaties.png
 
In het relaties venster moet je even op de knop <Alle relaties> klikken, dan zie je ze. Dat heeft overigens weinig met je probleem te maken. Ik verbaas me er eigenlijk over dat je voor één entiteit (type: mens) twee tabellen gebruikt. Dat kan toch allemaal in één tabel?
 
Dat dacht ik eerst ook te doen, 1 tabel, maar op de lidkaart komen de gegevens van de aanvrager + een foto die ik ook in de tabel ga stoppen (veld moet nog aangemaakt worden), vandaar dat ik de rest van de leden heb gescheiden (waar geen foto voor nodig is trouwens).

Is het dan beter om alle personen in 1 tabel te gieten en een extra veld toe te voegen met vb een Ja/Nee veld "Aanvrager" om dat al uit te klaren?
Een ander 'probleem' lijkt mij dan hoe aan te geven welke personen bij welke familie horen als je alles in 1 tabel steekt?
 
families

Denk dat het beste zou zijn dat je 2 tabellen maakt inderdaad
maar 1 tabel met hoofdfamilie, en de tweede tabel met en link naar de tabel hoofdfamilie, en een veldje extra, met de hoedanigheid van de persoon binnen de familie, vader, zoon, dochter ( of kind : m/v weetje dan wel of het zoon of dochter is ) en indrerdaad als de persoon de aanvrager zal zijn, kan je daar een ja/nee veld inzetten
 
Denk dat het beste zou zijn dat je 2 tabellen maakt inderdaad
??? Wel eens een stamboomtabel gemaakt? Nee, niet naar luisteren naar dat advies :). Gewoon alles in één tabel houden dus. Ik ben je voorbeeldje al aan het ombouwen. Even geduld dus nog.
Maar dit:
+ een foto die ik ook in de tabel ga stoppen (veld moet nog aangemaakt worden)
Nee, niet doen! Kan ik niet sterk genoeg benadrukken: niet doen! Hou je foto's buiten de tabel, en gebruik een extra tekstveld voor de bestandsnaam van de foto. Ik heb in een ander draadje de complete werkwijze + code uitgelegd, dus dat kun je zo overnemen als je dat wilt. Bovendien: stel dat je later tóch voor iedereen een foto wilt, dan wil je toch niet de hele structuur moeten aanpassen? Ik heb een aantal aanpassingen gedaan trouwens in je tabel [tbl_Familie_leden_type], want daar zitten rare waarden in. Zo heb je 2 velden voor hetzelfde gegevenstype (Echtgenoot en Echtgenote) die je m.i. moet vervangen door de omschrijving Partner. Dat heb ik gedaan, en het eerste record heb ik omgedoopt naar Aanvrager. Dat is namelijk, net als Partner of Kind, een status van een persoon.
Een stamboom begint altijd ergens, met de stamhouder, en kan stevig doorlopen. Een kind kan ook weer trouwen/een partner krijgen, en die kinderen ook weer.

Een ander 'probleem' lijkt mij dan hoe aan te geven welke personen bij welke familie horen als je alles in 1 tabel steekt?
Dat probleem had je zelf al opgelost :). Het koppelveld dat je nu gebruikt, gebruik je namelijk om te verwijzen naar het Aanvragerveld in dezelfde tabel.

Oh ja: de reden om Echtgenoot + Echtgenote te vervangen door Partner is een hele logische als je er over nadenkt. Als iemand van geslacht vrouw is, mag die persoon nooit een Echtgenoot zijn. Idem voor een man: die mag je nooit als Echtgenote aanwijzen. Lijkt mij hoor.... Bovendien: de status van de persoon is identiek: ze zijn de partner.
 
Alvast bedankt OctaFish (en uiteraard ook kenzootje voor het meedenken!) voor alle moeite die je erin stopt en alle adviezen!

Eerst dacht ik nog dat jouw visie mbt 'echtgenoot/echtgenote' een 'taalkundig' verschil was tussen ons gebruik van woorden (België/Nederland) maar eigenlijk heb je wel een punt met je redenering, dus 'partner' is inderdaad een betere term!
Over de foto's moet ik mijn gedachten nog eens laten gaan want dat zie ik nog niet helemaal hoe jij het uitlegt, maar ik veronderstel dat het duidelijk wordt als jouw versie klaar is.

Nog een vraag: waar stop je dan het adres? In de eerste tabel (aanvrager)?

Bedankt!

Willy
 
Ik heb geen tabel "aanvrager" meer, die heb ik omgebouwd naar de tabel [Groepen]. Geen idee wat je daar mee beoogt, maar op basis van wat ik nu heb gezien is dat een aparte tabel.
Adresgegevens zijn persoonsgegevens dus elke persoon heeft een eigen adres. Een kind van iemand zal in eerste instantie bij de ouders wonen, en dan dat adres hebben, maar ooit op eigen benen staan en dan een eigen adres hebben.
 
Laatst bewerkt:
Elke familie (of groep) heeft een woonplaats (straat/nummer/postcode/gemeente).
Dus daar best een aparte tabel voor maken [Adres] en die linken zoals nu alles gelinkt was via "Klantnummer" (of hoe je't nu ook wil benamen)?
 
Ja, dat zou je dan zo kunnen doen. Ik weet niet precies wat de bedoeling is van de db, dat is uit het voorbeeld niet duidelijk. Een essentiële vraag is bijvoorbeeld: kan een lid van een groep (kind bijvoorbeeld) een eigen 'groep' beginnen? Dus een aanvrager heeft in de 'groep' 4 personen (partner en 3 kinderen) en één van die kinderen verhuist, en wordt dan a.h.w. de aanvrager van de eigen groep, met eigen adresgegevens.
 
In theorie zou het kunnen wat jij schetst, dat een lid van een groep een nieuwe groep begint. In de praktijk zal dit nauwelijks voorvallen denk ik, maar het kan.

Mijn opzet was om telkens een lid de groep verlaat, dat lid gewoon te verwijderen uit die groep om zo ten alle tijde een up-to-date status te hebben van het totaal aantal leden over alle groepen heen.

Indien een 'verwijderd' lid later zelf opnieuw een aanvraag zou doen, dan maak ik gewoon een nieuwe groep aan.
Veel complexer als dat zou ik het eerlijk gezegd niet willen maken .
 
Het is in mijn ogen al veel te complex; bovendien is één van de zaken die je niet moet willen doen in een db het verwijderen van records. Dan ben je gelijk de historie kwijt. Veel beter is om de status van een persoon op inactief te zetten. Ofwel met een selectievakje, ofwel met een datumveld. Afhankelijk van hoe nauwkeurig je gegevens bij wilt houden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan