Hoi,
Ik ben bezig met het opzetten van een db in Access voor mijn werkgever die geen verstand heeft van Access. Dit heeft tot doel het bijhouden van een personenlijst voor mailingdoeleinden.
Het is de bedoeling dat er in de db de nodige dingen moeten zijn opgenomen:
- Lijst met persoonsgegevens
- Lijst van groepen/categorie waar die personen ingedeeld worden
- Aanhef en "ter attentie van" test opnemen voor de mailing
Overige wensen zijn het bijhouden van welke personen bij welke activiteiten zijn benaderd en wat de uitkosmst daarvan is (aangemeld/afgemeld).
Op zich kom ik er zelf wel uit met 2 tabellen (groepen en mailing). Maar dan heb ik een Mailing tabel met zo'n 20 á 30 kolommen, omdat ik voor elke nieuwe activiteit een kolom maak. Dat heeft ook gewerkt, maar zoals ik al zei snapt mijn werkgever niets van db beheer in deze vorm. Zelfs met een formulier zijn er gewoon te veel velden. En de uitbereiding wordt beperkt. Want bij elke nieuwe activiteit weer een nieuwe kolom enzo schiet niet echt op.
Dus dacht ik, ik begin opnieuw en maak een db met kleiner tabellen die tot de kern beperkt worden en mogelijkheid bieden tot uitbereiding voor de toekomst.
Op dit moment heb ik 4 tabellen:
Persoonsgegevens(pers_id, NAW, groep_id, geslacht_id, activiteit_id)
Groepen(groep_id, groep)
Aanheft(geslacht_id, aanhef, tav)
Activiteit(activiteit_id, activiteit)
Nu kan ik definieren welk persoon tot welk groep behoort, welk geslacht (dus aanheft) die heeft en bij welk activiteit die is benaderd.
Maar nu struikel ik op een probleem, namelijk 1:n relaties. Het is natuurlijk niet zo dat een bepaald iemand alleen voor 1 bepaald activiteit wordt benaderd. Bij elk nieuwe activiteit krijgen zij een uitnodiging. Het is dus eigenlijk een n:m relatie wat er tussen de persoon en activiteit is.
Ik wil bijhouden bij welke activiteiten een persoon is benaderd en hoeveel personen zich hebben aangemeld bij een activiteit.
Hoe los ik dit probleem op?
Ik ben bezig met het opzetten van een db in Access voor mijn werkgever die geen verstand heeft van Access. Dit heeft tot doel het bijhouden van een personenlijst voor mailingdoeleinden.
Het is de bedoeling dat er in de db de nodige dingen moeten zijn opgenomen:
- Lijst met persoonsgegevens
- Lijst van groepen/categorie waar die personen ingedeeld worden
- Aanhef en "ter attentie van" test opnemen voor de mailing
Overige wensen zijn het bijhouden van welke personen bij welke activiteiten zijn benaderd en wat de uitkosmst daarvan is (aangemeld/afgemeld).
Op zich kom ik er zelf wel uit met 2 tabellen (groepen en mailing). Maar dan heb ik een Mailing tabel met zo'n 20 á 30 kolommen, omdat ik voor elke nieuwe activiteit een kolom maak. Dat heeft ook gewerkt, maar zoals ik al zei snapt mijn werkgever niets van db beheer in deze vorm. Zelfs met een formulier zijn er gewoon te veel velden. En de uitbereiding wordt beperkt. Want bij elke nieuwe activiteit weer een nieuwe kolom enzo schiet niet echt op.
Dus dacht ik, ik begin opnieuw en maak een db met kleiner tabellen die tot de kern beperkt worden en mogelijkheid bieden tot uitbereiding voor de toekomst.
Op dit moment heb ik 4 tabellen:
Persoonsgegevens(pers_id, NAW, groep_id, geslacht_id, activiteit_id)
Groepen(groep_id, groep)
Aanheft(geslacht_id, aanhef, tav)
Activiteit(activiteit_id, activiteit)
Nu kan ik definieren welk persoon tot welk groep behoort, welk geslacht (dus aanheft) die heeft en bij welk activiteit die is benaderd.
Maar nu struikel ik op een probleem, namelijk 1:n relaties. Het is natuurlijk niet zo dat een bepaald iemand alleen voor 1 bepaald activiteit wordt benaderd. Bij elk nieuwe activiteit krijgen zij een uitnodiging. Het is dus eigenlijk een n:m relatie wat er tussen de persoon en activiteit is.
Ik wil bijhouden bij welke activiteiten een persoon is benaderd en hoeveel personen zich hebben aangemeld bij een activiteit.
Hoe los ik dit probleem op?