Opgelost formulier op basis van query

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

HankMegens

Gebruiker
Lid geworden
1 sep 2015
Berichten
100
Het is echt te gek voor woorden, maar ik weet het ff niet meer.
ik heb een formulier, gebaseerd op een query.
Ik wil via een combobox een andere persoon selecteren, waarna er een requery moet gebeuren.

De combobox vul ik met gegevens uit een van de tabellen waar de query op gebaseerd is.


HELP!
 
Beetje weinig informatie.
Selecteert de query één persoon?
Is de combobox niet-afhankelijk?

Zoals altijd zegt een (geanonimiseerde) voorbeelddatabase meer dan 1000 woorden.
 
de query selecteerd de ouders en grootouders van de persoon.
Het betreft Fstamboormpersoon en Qgrootouders
selecteer maar persoonID = 2
 

Bijlagen

Ik zal er zo naar kijken! De Requery zou overigens middels de gebeurtenis <Bij klikken> moeten plaatsvinden.
 
Het lijkt me beter als je eerst de context afmaakt. Qgrootouders kijkt nu voor de persoon naar cboPersoon op het formulier Fpersoon. Op dat formulier is geen combobox te vinden.

Als je Fstamboormpersoon opent vanaf Fpersoon, kan je een filter op Fstamboormpersoon instellen. Met het kiezen van een andere waarde met de combobox op Fpersoon kan je het filter dan weer wijzigen.
 
Ik zit uit pure interesse nog even te neuzen in de database en er vallen me wat dingen op.

Er zijn geen relaties gelegd tussen de tabellen. Dat zou je wel moeten doen zodat de referentiële integriteit afgedwongen kan worden en je beter inzicht hebt in de structuur.

Het nut van de tabellen Tlevensgbeurtenis en Tpersoonlevensgebeurtenis ontgaat me. Geboorte, overlijden en huwelijken worden allemaal al elders (inclusief datums en plaatsen) vastgelegd. Als je dat in de genoemde tabellen nog een keer doet is dat dubbelop, met de kans op inconsistenties. Doop en begrafenis/crematie komen normaliter maar één keer per persoon voor en kan je dus in de personentabel kwijt.

De relatie tussen TLand en TPersoon kan niet gelegd worden. In TPersoon moet je LandID opnemen in plaats van Land.
Waarom leg je geen land vast in andere tabellen waar een plaatsnaam wordt vastgelegd?

De database staat huwelijken tussen personen van het zelfde geslacht niet toe. In de praktijk komt dat wel voor.
Ook bij kinderen die erkend zijn door twee personen van het zelfde geslacht zie ik een vergelijkbaar probleem.
Wil je andere relaties (bijvoorbeeld geregistreerd partnerschap) niet registreren?

Ik vraag met af of je een aparte tabel Touderkind nodig hebt. Een persoon kan maar één ouderpaar hebben, dus kan je de ouders in de tabel persoon opnemen. Als je meerdere soorten ouders (natuurlijke, adoptie) wilt registreren moet er in Touderkind een aanduiding van het soort ouderschap.
 
Laatst bewerkt:
Over de meeste opmerkingen van Peter heb ik nog geen mening (kijk nog te kort naar de database, maar de laatste klopt. Je maakt het jezelf nodeloos ingewikkeld, omdat je systeem niet gaat werken. Een stamboom is (normaal gesproken) niet eindig, en heeft ook geen begin. Meestal begin je er gewoon mee, en start je dus met het invoeren van personen. Ok, dat heb je gedaan: al je familieleden staan er in. En je vrienden :).

Volgende stap: de kinderen. Daarvoor heb je nu een aparte tabel, maar dat is onzinnig, zoals zal blijken. Want kinderen blijven niet klein, die gaan een relatie aan, en krijgen zelf óók kinderen. En hun kinderen ook weer.
En dan kom je historische gegevens tegen van je ouders, en die ga je óók invoeren als persoon. En dan blijkt dat die mensen óók kinderen hebben (jou bijvoorbeeld), en dat wil je dan ook weer ergens kwijt Tipje van de sluier: niet in jouw extra tabel ;)). En hoe meer je graaft, hoe meer gegevens je vindt en hoe meer personen je gaat toevoegen met kinderen.

Hoe los je dit dus op? Heel simpel: voeg in de tabel tPersonen twee velden toe die je vult met de PersoonID van de betreffende ouder(s). En daarmee is je stamboomprobleem gelijk opgelost, want als je een persoon opvraagt met kinderen, kun je met de juiste query ook gelijk de kinderen zien. En, indien gewenst, de kinderen van die kinderen. Die 'stamboom' kun je net zo diep maken als je zelf wilt of nodig hebt.

Je hoeft dus alleen een recursieve tabel te hebben waarin je alle gegevens per persoon invult, inclusief twee velden voor de resp. (biologische) ouders.
Daarmee heb je tegenwoordig, zoals Peter al aangaf, wél een nieuw probleem, want wat doe je met ouders van hetzelfde geslacht? In de ene variant heb je op zijn minst een draagmoeder nodig, waarvan nog maar de vraag is of die het leuk vind om in jouw database vastgelegd te worden, en in de andere een donor, waarvoor hetzelfde geldt. Als die al niet anoniem is.
Dat moet je dus óók opvangen. De anonieme donor is het makkelijkst (denk ik) door daar een aparte persoon voor te maken, en dat geldt ook voor een anonieme draagmoeder. Bij een erkende draagmoeder zou je die persoon als persoon kunnen opvoeren, maar dan zou je dus in de personentabel drie oudervelden nodig hebben. Overigens lost die constructie óók het probleem op van een erkende donor, want die kan je dan waarschijnlijk ook als persoon opvoeren.

Ik ben het wel met Peter eens dat je de tabel voor familiegebeurtenissen gewoon in één tabel moet houden, want een gebeurtenis is nu eenmaal een eenmalige activiteit, waar je hooguit middels een koppeling meerdere personen kan hangen. Zo zijn bij een huwelijk doorgaans twee personen betrokken :).

Nog een puntje: je slaat de NAW gegevens op in de tabel tPersoon. Dat kan, maar lijkt mij niet handig want dan heb je geen enkele historie meer over de personen. Zelf zou ik dus een koppeltabel gebruiken waarin je de verschillende adressen (en periodes) opslaat zodat je daarmee je stamtabel een stuk leuker maakt. Zelf heb ik bijvoorbeeld foto's die gerelateerd zijn aan oudere adressen, en die kun je dus aan die adressen koppelen. Om maar wat te noemen.
Ik zou dus in ieder geval eerst eens goed nadenken over het totale concept, want ik zou op deze manier niet doorgaan. Terug dus naar de tekentafel :).
 
Nog een opmerking: als je persoonlijke gegevens opslaat van personen (zoals de adressen van wanneer tot wanneer of nog gevoeliger: draagmoeders), moet je wel de toestemming van die personen hebben, ook voor privé gebruik.
Voor relaties heb je één tabel nodig met
ID persoon1, ID persoon2, ID relatie (getrouwd/kind van/pleegkind..) periode van/periode tot
Maar zoals gezegd: dat is gevoelige informatie.
Er bestaan ook goede stamboom applicaties via het web waarbij ervoor gezorgd wordt dat alleen publieke informatie opgenomen wordt.
 
Sterker nog: als je echt een stamboom wil maken, dan is een web applicatie zoals Ancestry te prefereren, al was het maar omdat je dan vanuit meerdere hoeken gegevens kan (laten) aanvullen. Hoe dieper (of hoger :)) je gaat in de stamboom, hoe meer informatie er in gehangen kan worden. En krijg je ook uit meer kanten informatie aangeleverd. Want verre familieleden komen dan vanuit hun eigen hoek jouw stamboom tegen. En het is nog leuk om te doen ook :).

Met het opslaan van persoonsgegevens moet je natuurlijk altijd de AVG in het achterhoofd houden. Want je mag lang niet alles meer zelf opslaan aan gegevens. (Beetje een open deur van noella, vind ik).

Overigens is je initiële vraag al lang en breed opgelost, maar ik zie dus liever dat je je opzet aanpast ;).
 
Heren,

Bedankt voor alle tips.
ik ga er mee aan de slag.
En ik zet hem op opgelost (niet eerder de tijd gehad om te reageren)

Hank
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan