Eenvoudig database (denk ik), wie helpt...

Status
Niet open voor verdere reacties.

MartinAdapt

Gebruiker
Lid geworden
5 dec 2016
Berichten
16
Hoi allemaal, ik wil éénmalig een database maken en ben daardoor geneigd hulp in te roepen in plaats van een cursus te gaan volgen. Ik leg de casus even voor en hoop op begrip voor mijn vraag.

Ik werk voor een klein clubje orthopedagogen; zij onderzoeken gedragsproblemen bij kinderen in opdracht van verschillende scholen. Ik wil een database (met als ingang een formulier) met twee startpunten (1) Nieuw kind aanmaken en (2) Kind zoeken.

Bij (1). Vereiste gegevens zijn [voornaam] [tussenvoegsel*] [achternaam] [Geboortedatum yyyy-mm-dd] [Bestuur*] [ Schoolnaam**].
Waarbij tussenvoegsel uit een selectiebox (dus keuzeveld; van, van de van der etc.) moet komen net als Bestuur (Bestuur X, Bestuur IJ etc.).
Schoolnaam moet eveneens uit een selectiebox komen maar dan gekoppeld aan de geselecteerde bestuursnaam (dus als bestuur X gekozen is dan verschijnen alleen de schoolnamen die onder dat bestuur vallen.
Tot slot moet op mijn K-schijf een folder aangemaakt worden met het format yyyy-mm-dd-Achternaam_tussenvoegsel_Voornaam
Dat is alles voor (1)

Bij (2). Een eenvoudige zoekfunctie op voornaam of achternaam of bestuur of school. Dus als ik zoek op "Henk" dan krijg ik wellicht meerdere Henken met achternaam, bestuur en school te zien en dan kan ik de juiste aanklikken.

Na klikken kom ik terecht in de bijbehorende folder op de K-schijf.

Iemand zin om dit voor mij te maken?
Hartelijke groet, Martin
 
Het forum heet natuurlijk niet voor niets “HelpMij”, en niet “BouwVoorMij”. Ik kan en wil je dan ook best helpen met het geven van tips, en het kijken naar je database om te zien of hij klopt, maar mij ontbreekt mij de tijd om hem voor je te bouwen. Bovendien vind ik dat het een betaalde klus zou moeten zijn voor iemand (die daar ook de tijd voor heeft). Dat neemt niet weg dat ik al wel een paar opmerkingen kan plaatsen.

Ten eerste: als je een database gaat maken, begin je met het vastleggen met de functie-eisen: je begint dan met te bepalen wat je uit de database wilt kunnen halen. Dat bepaalt namelijk wat je er in moet stoppen. Logisch: wat er niet in zit, kun je er nooit uithalen. Dat aspect mis ik in je verhaal. De enige output die je noemt, is dat je een map wilt kunnen openen. Daar heb je geen database voor nodig. Het eerste wat ik dan denk, als ik dat lees: wat wil je met die map? Ga je een half uurtje naar die map lopen staren? Vast niet!
Dus: bedenk eerst wat die database moet kunnen. Bijvoorbeeld documenten opslaan (in de voornoemde mappen) en openen vanuit de personen. Overzichten maken van het aantal kinderen per bestuur/school. Brieven/overzichten kunnen versturen of mailen naar de scholen/besturen. En ga zo maar door.

Ten tweede: de feitelijke inrichting van de tabellen en formulieren doe je als laatste; daar begin je in ieder geval niet mee. Je denkt nu al blijkbaar na over de opmaak van datumvelden, terwijl die totaal oninteressant is. Datums zijn getallen, en de opmaak daarvan is alleen een stukje uiterlijk vertoon. Kun je te allen tijde veranderen.

Ten derde (sluit aan op het vorige punt): een veld als [Tussenvoegsel] instellen als keuzelijst? In mijn ogen volkomen onzinnig. Als je gaat kijken naar het gebruikersgemak van een keuzelijst, dan is die er hier totaal niet. Een beetje gebruiker van een database zit met de handen op het toetsenbord en gebruikt de Tabtoets om door de velden te lopen. Kom je ineens een keuzelijst tegen, moeten ze naar de muis grijpen, die openklikken en vervolgens de gewenste optie opzoeken en aanklikken. En vervolgens weer de handen op de juiste plek op het toetsenbord zetten om verder te gaan. Kost allemaal tijd. Welke enorme tijdsbesparing wil je daarmee maken? Ga eens bij jezelf na hoeveel tijd het kost om de woorden “de”, “van” etc in te typen. En weet je wel hoeveel varianten er zijn qua tussenvoegsels? Echt, één van de slechtere ideeën die ik de laatste tijd ben tegengekomen.

Verder is de opzet voor jou misschien logisch, maar voor mij nog niet helemaal. Je wilt vastleggen welk kind op welke school zit, maar zoals je het beschrijft is het volgens mij erg onhandig. Kinderen willen nog wel eens van school veranderen, en zelf zou ik dat willen doen via een systeem waarbij ik de historische gegevens zou willen bewaren. In jouw opzet kan dat niet: als een kind naar een andere school gaat, overschrijf je de vorige schoolgegevens. Je bewaart geen historie. Het kan zijn dat je daar geen behoefte aan hebt, maar ik zou daar zeker nog eens goed over na denken.

Je hebt dus een toplaag [Bestuur], die je koppelt aan de tabel [School] d.m.v. het veld [BestuurID] in beide tabellen. Daarmee kun je de afhankelijke keuzelijst maken op basis van Bestuur, zodat je in de keuzelijst cboScholen alleen gekoppelde scholen ziet. Dat is makkelijk te maken. In jouw opzet hang je aan de tabel [School] dus de tabel [Kinderen], waarbij je in de tabellen het veld [SchoolID] gebruikt. Die laatste variant zou ik dus vervangen door er een tabel tussen te zetten: [School_Kinderen]. Hierin zet je de velden [SchoolID] en [KindID], die je dus koppelt aan de respectievelijke tabellen. Zelf zou ik daar ook twee datumvelden bijzetten voor de begin- en einddatum zodat je kunt zien welk kind wanneer op welke school zit/zat.

En zou ik zo nog wel even door kunnen gaan :).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan