De beheerder is meestal 1 persoon/organisatie, bijv. een woningbouwcoorperatie. De gevolmachtigde is meestal ook 1 persoon. Zowel de beheerder als gevolmachtigde kunnen meerdere personen zijn. Het bestuur bestaat meestal uit 3 tot 5 personen.
Zoals je het nu beschrijft, is anders als je het hebt ingericht. En eigenlijk beschrijf je het nu ook zoals ik al vermoedde dat je e.e.a. bedoelde, vandaar mijn opmerking dat er elementaire fouten in zitten.
Had je dit gezegd:
De beheerder is altijd 1 persoon/organisatie en dit:
De gevolmachtigde is altijd 1 persoon dan had je met je huidige opzet kunnen volstaan. Dan hadden de relaties namelijk geklopt. Maar je geeft zelf al aan dat dit niet altijd het geval is, en dat zowel beheerder als gevolmachtigde meerdere personen kunnen zijn. En dat houdt dan automatisch in dat je die gegevens in aparte tabellen opslaat (zoals je nu ook doet) en dan koppelt op het veld [nr VvE]. Dat veld is in de tabel VvE de primaire sleutel, en in de andere tabellen een verwijzingssleutel, zodat je een één-op-veel relatie kunt maken.
Overigens is het nog wel de vraag waarom je Beheerders, Bestuursleden en Gevolmachtigden in aparte tabellen opslaat; voor zover ik in je huidige tabellen kan zien, sla je ongeveer dezelfde gegevens op. Ik zou zeggen: gooi alle records die met
personen te maken hebben, zoals NAW gegevens etc. in dezelfde tabel, en voeg daar een veld met een keuzelijst aan toe waarin je de
functie van die persoon vastlegt. Dit werkt prima als een persoon ofwel een beheerder is, ofwel een gevolmachtigde ofwel een bestuurslid. Mag iemand een combinatie vervullen (beheerder+bestuurslid bijvoorbeeld) dan gaat dit niet werken (tenzij je met Access 2010 werkt).
De gedachte hierachter is, dat je de database opzet op basis van
entiteiten. Een entiteit is dan een specifiek object in de database, zoals een VvE een entiteit is, en een Persoon ook. Dus alle gegevens die betrekking hebben op Personen, sla je op in dezelfde tabel. Om onderscheid te maken tussen de functies van die personen maak je dus die keuzelijst. Niet alleen wordt de db er een stuk overzichtelijker door, je kunt ook veel makkelijker doorbouwen in de db.
Om het verhaal af te maken: personen die aan een functie zijn gekoppeld, wil je ook aan de VvE kunnen koppelen. En daarvoor is dan een koppeltabel nodig. Dus met de tabel VvE_Persoon koppel je de VvE aan het Persoonsrecord, wat dan gelijk de sleutel is in die tabel ([nr_VvE] + [PersoonID].
Voorbeeldje:
Neem een Gevolmachtigde die in het Bestuur gaat zitten: in je huidige situatie kan dat (aparte tabellen, dus aparte records dus geen controle) makkelijk voorkomen, terwijl je dat misschien wel helemaal niet wilt. Om die persoon om te zetten moet je veel handelingen verrichten: persoon verwijderen uit Gevolmachtingden, en toevoegen aan Bestuur. In mijn opzet is het een kwestie van een andere functie geven, en je bent er. Een persoon kan dus nooit meer dan één functie vervullen, en door de functie te veranderen is gelijk de koppeling anders.
Je formulieren baseer je op de verschillende functies, dus daarvoor maak je queries die filteren op de specifieke waarden uit de keuzelijst. Voor een overzicht per VvE van Bestuursleden filter je op de functie Bestuur, voor Beheerders op Beheer etc. Dat kan zelfs allemaal in één formulier gebouwd worden!
Het verhaal wordt een klein beetje anders als je per functie nog specifieke waarden wilt opslaan die alleen voor die functie gelden. Maar dat kun je nog oplossen door daarvoor dan wèl aparte tabellen te maken die je koppelt aan de Personentabel.